C语言编程求阶乘1到10的和

编程求1!+2!+3!+…………+10!
这个怎么编程啊?

#include"stdio.h"
void main()
{
long a=1,n,s=0;
for(n=1;n<=10;n++)
{
a*=n;/*求阶乘*/
s+=a;/*求和*/
}
printf("%ld\n",s);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-20
1.程序输出结果是对的,但是,getch();这句给改一下,getchar();。
2.就对了啊,但是我不知道你加这个是说明意思,完全没有必要的啊。。可用不要这句就是的啊。。。程序就是对的了。输出结果也是对的。
3.为了验证,你可以把10改为4,一个小的数据,然后运算验证一下就可以了。
第2个回答  2009-05-07
#include <stdio.h>

/* 通过递归计算一个数的阶乘 */

int factorial(int num)
{
if (num==1)
return 1;
else
return (num * factorial(num - 1));
}

int main()
{
int i;
long sum = 0;

for (i = 1; i < 11; ++i)
sum += factorial(i);

printf("%ld\n",sum);

return 0;
}
第3个回答  2009-05-06
#include <stdio.h>
int fun(int n);
void main()
{
int i,n,sum=0;
printf("请输入n:");//输入数字,如10
scanf("%d",&n);

for (i=1;i<=n;i++)
{
sum+=fun(i);
}
printf("sum=%d\n",sum);

}
int fun(int n)//计算阶乘
{
if(n==1)
return 1;
return n*fun(n-1);
}
第4个回答  2019-02-08
你试试把for后的两句放在for语句中
因为你的程序当c大于2时
d始终只能得一次值
而不会累加
而且你把应a
d定义为长整型
我自己写的中间的你试试
for(i=0;i<11;i
)
for(j=i;j>0;j
)
s*=j;
sum
=s;
其中s
sum都是长整型
用手机上回的
简单写了下
希望能看懂
还有你c能语言