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

#include<stdio.h>
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);
}

你少了个大括号了,m=m+s;不在循环体里,所以不累加
#include<stdio.h>
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);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-18
#include<stdio.h>

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

我这个也是求你那个的,会不会简单一些,参考参考本回答被网友采纳
第2个回答  2012-07-18
改为这样就行了
#include<stdio.h>
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);
}
相似回答