你可以参考下面这种写法,思路更简单:
#include "stdio.h"
void main(){
int n,i;
long su=0,sum=1;
printf("请输入一个数:");
scanf("%d",&n);
for( i=1;i<=n;i++){
sum*=i;//1~i的阶乘
su+=sum;//各个阶乘的和
}
printf("从1到这个数的阶层和是:%ld",su);
return 0;
}
int m=0; m没有初始化。
jiech函数里if(n==1)
#include <stdio.h>
int main() {
unsigned long long sum=1,jiech=1;
int n;
scanf("%d",&n);
for(int i=2;i<=n;++i)
{
jiech*=i;
sum+=jiech;
}
printf("%llu",sum);
return 0;
}
main函数中:
for(k=1;k<=n;k++){
//将n改成循环变量k即可
//改前:m=m+jiech(n);
//改后:m=m+jiech(k);
}