用递归函数求阶乘:计算 5!+7!+9! 的 C 语言实现与代码详解
```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` 的值。 ######[AI问答 | 336点数解答 | 2025-12-10 23:12:54]
相关提问
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)352
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)347
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)366
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)440
- Python 递归函数实现:将数字转换为指定基数的输出(百度文心 | 499点数解答 | 2024-11-22 09:58:55)342
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)236
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)323
- 编程模拟:偶数张牌经 k 次洗牌后第 p 张牌编号求解(DeepSeek | 126点数解答 | 2026-01-05 12:15:30)33
- 螺旋矩阵:根据输入行列号精准求出对应位置数字的算法揭秘(DeepSeek | 740点数解答 | 2026-01-05 12:16:41)56
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)477
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)362
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)80