请编写一个函数 double fun(int n),求s=1!+2!+3!+…+n!,n 通过键盘输入,大小n不超过20,如输入3,输出结 果应为9,函数的返回值为所求和。
时间: 2024-02-06 17:11:29 浏览: 91
C语言题库,有答案!
好的,我来编写这个函数。根据题意,我们需要先计算出1到n的阶乘之和,然后返回这个值。以下是代码实现:
```c++
#include <iostream>
using namespace std;
double fun(int n) {
double sum = 0, factorial = 1; // 初始化和与阶乘
for (int i = 1; i <= n; i++) {
factorial *= i; // 计算i的阶乘
sum += factorial; // 累加阶乘
}
return sum;
}
int main() {
int n;
cout << "请输入n的值:";
cin >> n;
cout << "1! + 2! + 3! + ... + n! = " << fun(n) << endl;
return 0;
}
```
这个函数首先初始化了和与阶乘,然后通过for循环依次计算1到n的阶乘,并将它们累加到和中。最后返回和的值即可。
阅读全文