这是我写的程序,怎么看都觉得没错,可是结果很离谱
#include<stdio.h>
int main()
{
int
n,a,b=1,sum=0;
scanf("%d",&n);
if(n>=1)
{
for(;n>=1;n--)
{
for(a=1;a<=n;a++)b=b*a;
sum=sum+b;
}
printf("%d\n",sum);
}
else
printf("wrong\n");
return
0;
}
在for(;n>=1;n--)里面对b进行初始化,否则你的就变成累成了。
for(;n>=1;n--)
{
b = 1;/////////////////////////////////////////////////////
for(a=1;a<=n;a++)b=b*a;
sum=sum+b;
}追问
for(;n>=1;n--)
{
b = 1;/////////////////////////////////////////////////////
for(a=1;a<=n;a++)b=b*a;
sum=sum+b;
}追问
你真棒!
温馨提示:答案为网友推荐,仅供参考