用C语言求1!+2!+3!+。。。+10!用FOR循环的嵌套做,我的程序到底错在哪呢?运行结果只是10的阶乘。

2025-04-09 12:22:34
推荐回答(3个)
回答1:

你少了个大括号了,m=m+s;不在循环体里,所以不累加
#include
void main()
{
int s,n,i,m;
for(m=0,n=1;n<=10;n++)
{ //这里加个大扣号
for(s=1,i=1;i<=n;i++)
{
s=s*i;
}
m=m+s;
}//这里加个大扣号
printf("%d",m);
}

回答2:

#include

void main()
{
int i;
long s = 1 , m= 0;
for(i = 1; i <= 10; i++)
{
s *= i;
m += s;
}
printf("%d\n",m);
}

我这个也是求你那个的,会不会简单一些,参考参考

回答3:

改为这样就行了
#include
void main()
{
int s,n,i,m;
for(m=0,n=1;n<=10;n++)
{
for(s=1,i=1;i<=n;i++)
{
s=s*i;
}
m=m+s;
}
printf("%d",m);
}