#include<stdio.h>

int main() {

int n = 0;
printf("请输入一个正整数:");
scanf_s("%d", &n); //输入整数n

int all = 0;//用来存放最终结果
int i = 0;
int j = 0;
int sum = 1;
for (i = 1; i < n+1; i++) { //一共有多少个n阶需要相加
for (j = 1,sum=1; j < i+1; j++) {//每个n阶的结果
sum = j * sum;
}
all = all + sum;
}
printf("1-%d的阶乘之和为:%d", n, all);//输出
return 0;
}

其实上面写法可以更简略,没必要写两个for循环

#include<stdio.h>

int main() {
int n = 0;
printf("请输入一个正整数:");
scanf_s("%d", &n);//输入整数n

int all = 0;
int sum = 1;
int i = 0;
for (i = 1; i < n+1; i++) {
sum = sum * i; //计算并保留每一次的阶乘结果,之后在前者基础上乘即可
all = all + sum;//每次阶乘结果之和
}
printf("1-%d的阶乘之和为:%d", n, all);//输出
return 0;
}