酷代码 AI
菜单
服务商

用递归函数求 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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]