计算1!+2!+3!+……+n!(C语言)

计算1!+2!+3!+……+n!

编译环境VS2017 双层循环

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int fun(int x) {
          
   
	int Sn = 0;
	int S;
	for (int i = 1; i <= x; ++i) {
          
   
		S = 1;
		for (int j = 1; j <= i; ++j) {
          
   
			S *= j;
		}
		Sn += S;
	}
	return Sn;
}
void main() {
          
   
	int n;
	printf("您需要1到多少的阶乘之和,请输入(此值请小于26)
");
	scanf("%d", &n);
	printf("数字1到数字%d各阶乘之和为%d
", n, fun(n));
	system("pause");
}

单层循环

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int fun(int x) {
          
   
	int Sn = 0;
	int S = 1;
	for (int i = 1; i <= x; ++i) {
          
   
		S = i*S;
		Sn += S;
	}
	return Sn;
}
void main() {
          
   
	int n;
	printf("您需要1到多少的阶乘之和,请输入(此值请小于26)
");
	scanf("%d", &n);
	printf("数字1到数字%d各阶乘之和为%d
", n, fun(n));
	system("pause");
}
经验分享 程序员 微信小程序 职场和发展