c语言程序设计 1!+2!+3!....+n! 怎么算?
发布网友
发布时间:2022-04-24 20:23
我来回答
共1个回答
热心网友
时间:2023-10-09 19:03
#include
<stdio.h>
long
jiecheng(int
n);/*算阶乘的函数*/
int
main()
{
int
i;
int
n;
long
result;
printf("输入算式最大的值:
");
scanf("%d",&n);
result
=
0;/*计算式子的结果*/
for(i=1;i<=n;i++){
result
+=
jiecheng(i);/*这里用到了计算阶乘的函数*/
}
for(i=1;i<n;i++){/*输出结果*/
printf("%d!+",i);
}
printf("%d!
=
%ld\n",n,result);
return
0;
}
long
jiecheng(int
n)
{
int
i;
long
res;
res
=
1;
for(i=1;i<=n;i++){
res
*=
i;
}
return
res;
}
不过,输入的值不能太大,因为阶乘产生的结果可能会超过long类型所能承载的数的大小,你可以将里面的long类型改为long
long类型