酷代码 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); int main() { int i; float s=0; for(i=5;i<=9;i=i+2) s=s+fun(i); printf("%.0f",s); return 0; } float fun(int n) { if (n == 0 || n == 1) { return 1; } else { return n * fun(n - 1); } } ``` 代码解释 1. 递归函数 `fun`: - 递归函数的终止条件是当 `n` 等于 0 或者 1 时,返回 1,因为 `0!` 和 `1!` 都等于 1。 - 当 `n` 大于 1 时,根据阶乘的定义 `n!=n*(n - 1)!`,所以返回 `n * fun(n - 1)`,通过不断调用自身来计算阶乘。 2. 主函数 `main`: - 定义一个循环,从 5 开始,每次增加 2,直到 9,即循环遍历 5、7、9。 - 对于每个数 `i`,调用 `fun(i)` 计算其阶乘,并累加到变量 `s` 中。 - 最后使用 `printf` 函数以整数形式输出 `s` 的值。 [2025-12-10 23:12:54 | AI问答 | 336点数解答]

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