用c语言编写程序计算1~n的阶乘之和....

2024-11-29 23:25:34
推荐回答(2个)
回答1:

错误可能有三个,第一你的main前面没有声明,缺少个int,第二个可能的错误就是没有按照题目的要求进行多股输入,你的代码只是输入一次n就结束程序,第三个是最主要的错误,你的for(j=1;j<=i;j++)
里面每次循环一次就把p赋值为1,如果输入3的话,答案是不是10?1*1+1*1*2+1*2*3=10。如果要这样算的话程序如下:
#include
int main()
{
int i,j,n;
long p;
long Sn=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{p=1;
for(j=1;j<=i;j++)
{ p=p*j; }
Sn=Sn+p;
}
printf("%ld\n",Sn);
}

回答2:

#include
int main()
{
int i,j,n;
long p;
long Sn=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=1;
for(j=1;j<=i;j++)
{
p=p*j;
}
Sn=Sn+p;
}
printf("%ld\n",Sn);
}