1到100的阶乘 C语言程序

如题所述

#include <stdio.h>
void main()
{
int i,j;
long fun ;
for(i = 1;i<=100;i++)
{
fun =1;
for(j=1;j<=i;j++)
fun*=j;
printf("%d! = %ld\n",i,fun);
}
}

满意请采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27
#include<stdio.h>
void main()
{
int i;
double k=1;
for(i=1;i<=100;i++)
{
k=k*i;
printf("%d!=%e\n",i,k);
}
}本回答被提问者采纳
第2个回答  2016-01-13
举例说明算法:
1!+2!+3!+……+n!
=1+2*(1+3*(1+4*(1+5(1+.(1+(n-1)*(1+n)).))))

不过当n=100貌似会溢出.因此要实现一个大数乘法的函数。
#include<stdio.h>
void main()
{
long sum;
int n=100;
sum=n;
while(n!=1)
{
sum+=1;
sum*=n-1;//使用大数乘法函数替代这里的处理
n--;
}
printf("%d\n",sum);
}