编写函数 fun(),函数首部为 double fun(int n),其功能是计算 S=1!+2!+... +n!值,并通过函数值返回主调函数
时间: 2023-02-07 17:43:43 浏览: 172
很好,给出的题目要求我们编写一个名为 "fun" 的函数,该函数的输入为一个整数 n,函数的功能是计算 1! 2! ... n! 的和,并通过函数值返回给主调函数。
我们可以使用递归的方式来实现这个函数,代码如下:
```
double fun(int n) {
if (n == 1) {
return 1;
}
return factorial(n) + fun(n - 1);
}
```
这样,我们就可以在主函数中调用 fun(n),得到计算 1! 2! ... n! 的和的结果。
需要注意的是,在这个函数中,我们还需要调用一个名为 "factorial" 的函数来计算阶乘。
代码如下:
```
double factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
```
综上所述,我们可以编写如下的完整代码:
```
#include <iostream>
double fun(int n) {
if (n == 1) {
return 1;
}
return factorial(n) + fun(n - 1);
}
double factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int n;
std::cin >> n;
std::cout << fun(n) << std::endl;
return 0;
}
```
在主函数中,我们可以输入一个整数 n,然后调用 fun(n) 得到 1! 2! ... n! 的和的结果。
阅读全文