/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/
#include<stdio.h>
//函数声明
int pieAdd(int n);
int main()
{
//初始化为-1 使之能进入while循环
int n1 = -1;
//保证输入的是一个正整数
while(n1 < 0)
{
printf("请输入一个正整数: ");
scanf("%d",&n1);
}
//调用函数
int print = pieAdd(n1);
//打印值
printf("和为:%d\n",print);
return 0;
}
int pieAdd(int n)
{
int sum = 0;
//循环遍历
for(int i = 1; i <= n; i++)
{
//求完一次阶乘要重新赋值为1,进行下一个数求阶乘
int jiecheng = 1;
for(int j = 1; j <= i; j++)
{
//求阶乘
jiecheng *= j;
}
//求和
sum += jiecheng;
}
return sum;
} |