C语言,编一递归函数求解n!,在主函数调用该函数,求5!+8!的值并输出。
时间: 2024-03-13 11:44:41 浏览: 64
C语言中利用递归的方式得到n!
5星 · 资源好评率100%
好的,以下是解答:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int result = factorial(5) + factorial(8);
printf("5! + 8! = %d\n", result);
return 0;
}
```
运行结果:
```
5! + 8! = 40321
```
解释一下代码:
我们定义了一个递归函数 `factorial`,它接受一个整数参数 `n`,返回 `n!` 的值。在函数中,我们使用了递归调用的方式来计算 `n!`。当 `n` 等于 1 时,递归停止,直接返回 1,否则返回 `n * factorial(n - 1)`。
在主函数中,我们分别调用 `factorial` 函数计算 5! 和 8! 的值,然后将它们相加得到最终结果,并输出。
阅读全文