酷代码 AI
菜单
服务商

编程用递归函数求n!,然后调用该函数计算5!+7!+9!的值。 函数接口定义: float fun(int n); 其中 n 是用户传入的参数。函数须返回 n 出现的次数。 裁判测试程序样例: #include <stdio.h> float fun(int n); int main() { int i; float s=0; for(i=5;i<=9;i=i+2) s=s+fun(i); printf("%.0f",s); return 0; } /* 请在这里填写答案 */

```c #include <stdio.h> float fun(int n) { if (n == 0 || n == 1) { return 1; } return n * fun(n - 1); } int main() { int i; float s = 0; for (i = 5; i <= 9; i = i + 2) { s = s + fun(i); } printf("%.0f", s); return 0; } ``` 代码解释: 1. 递归函数`fun`: - 递归的终止条件是当`n`为 0 或者 1 时,此时`n!`的值为 1,所以直接返回 1。 - 当`n`大于 1 时,根据阶乘的定义`n! = n * (n - 1)!`,调用`fun(n - 1)`来计算`(n - 1)!`,再乘以`n`得到`n!`的值。 2. `main`函数: - 初始化变量`s`为 0,用于累加 5!、7! 和 9! 的值。 - 使用`for`循环,从 5 开始,每次增加 2,直到 9,调用`fun(i)`计算当前数的阶乘,并累加到`s`中。 - 最后使用`printf`函数以整数形式输出`s`的值。 [2025-12-10 23:19:22 | AI问答 | 342点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多