求1到20的阶乘的和,帮忙看下,哪错了

#include<stdio.h>
int main()
{
int n,i,c=0,s=0;
for(n=1;n<=20;n++)
{
for(i=1;i<=n;i++)
c=c*i;
s=s+c;
}
printf("1到20的阶乘的和=%d\n",s);
return 0;
}

第1个回答  2012-12-16
int n,i,c,s=0;
for(c=1,n=1;n<=20;n++)
{
for(i=1;i<=n;i++)
{
c=c*i;
}
s=s+c;
}
c的初始值应该是1,s=s+c应该在第二个循环外面,在第一个循环里
你再试试,希望可以帮助你,谢谢采纳。。。本回答被提问者采纳
第2个回答  2012-12-16
#include<stdio.h>
int main()
{
int n,i,c=1,s=0;//c要等于1
for(n=1;n<=20;n++)
{
for(i=1;i<=n;i++)
c=c*i;
s=s+c;
}
printf("1到20的阶乘的和=%d\n",s);
return 0;
}
第3个回答  2012-12-16
#include<stdio.h>
int main()
{
int n,i,c=1,s=0;
for(n=1;n<=20;n++)
{
for(i=1;i<=n;i++)
c=c*i;
s=s+c;
}
printf("1到20的阶乘的和=%d\n",s);
return 0;
}
相似回答