习题2-6 求阶乘序列前N项和(15 分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
5
输出样例:
153
分析:由于求阶乘每次都会用到,所以可以把“求阶乘”单独写成一个函数,这样在main()函数中循环调用即可。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
//求阶乘函数
int fac(int n)
{
int mul = 1;
for (int i = n; i > 0; i--)
{
mul = mul*i;
}
return mul;
}
int main()
{
int n = 0;
scanf("%d", &n);
int sum = 0;
int i = 1;
while (i <= n)
{
sum = sum + fac(i);
i++;
}
printf("%d", sum);
system("pause");
return 0;
}
测试结果: