用递归函数求 5!+7!+9!的值:C 语言代码及详细解释
```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`的值。 ######[AI问答 | 342点数解答 | 2025-12-10 23:19:22]
相关提问
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)347
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)366
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)352
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)440
- Python 递归函数实现:将数字转换为指定基数的输出(百度文心 | 499点数解答 | 2024-11-22 09:58:55)342
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)248
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)274
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)271
- 求解 1 至 n 内第 k 大孤独数:质数与余数的巧妙探寻(字节豆包 | 298点数解答 | 2025-11-10 20:01:57)163
- 巧判小朋友同桌意愿:满足需求还是无解难题?(字节豆包 | 599点数解答 | 2025-11-16 20:06:12)74
- 巧用代码判断:能否让 2n 个小朋友都拥有满意同桌?(字节豆包 | 445点数解答 | 2025-11-16 20:07:02)83
- 编程模拟:偶数张牌经 k 次洗牌后第 p 张牌编号求解(DeepSeek | 126点数解答 | 2026-01-05 12:15:30)33