有大佬看看是哪里出错了,孩子快被逼疯了
求1到10阶乘之和
#include<stdio.h>
int main()
{
int sum,s,i,j;
sum=0,s=10;//从大到小计算。
while(s>0)
{i=s;
while(i<=1)
{j=1;j=j*i;i--;}//计算i的阶乘结果为j。
sum=sum+j;
s--;}
printf("%d\n",sum);//计算阶乘之和。
printf("成功");
return 0;
}
代码修改如下:
#include<stdio.h>
int main()
{
int s,i;
long long j; //修改
long long sum = 0;
sum=0;s=10;//从大到小计算。
while(s>0)
{
i=s;
j=1; // 修改 j=1放在这里
while(i>=1) // 修改
{
j=j*i;
i--;
}//计算i的阶乘结果为j。
sum=sum+j;
s--;
}
printf("%lld\n",sum);//计算阶乘之和。
printf("成功");
return 0;
}
while(i>=1)