#include<stdio.h>
int main(void)
{
int n,sum=0,num=1,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
num=num*j;
}
sum=sum+num;
}
printf("%d",sum);
return 0;
}
输入5
应输出153
实际输出34864
输入20
应输出256132749411820313
实际输出1444231216
#include<stdio.h>
void main()
{int i,n;
int m=1;
int sum=0;
printf("请输入n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
m=m*i;
sum=sum+m;
}
printf("1!+2!+3!+...+n!的值=%d\n",sum);
}
建议将sum定义为long int类型,否则在输入n较大时(例如n=20),就会出现类型溢出的情况,导致无法得出正确结果