c语言问题 帮忙看看

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:00:22
#include"stdio.h"
void main()
{
int n,i,sum;
for(n=1,sum=0;n<=20;n++)
{
for(i=1;i<=n;i++)
{
n=i*1;
sum=sum+n;
}
}
printf("前二十的阶乘和为:%d\n",sum);
}

for(i=1;i<=n;i++)
{
n=i*1;
sum=sum+n;
} 这里改变了N的值
另外 20!值很大,int型变量存储不了

这样改

#include"stdio.h"
void main()
{
int n,i,sum;
for(n=1,sum=0;n<=10;n++) //改小点 放不下
{
long int k=1;
for(i=1;i<=n;i++)
{
k*=i;

} sum=sum+k;
}
printf("前二十的阶乘和为:%d\n",sum);
}