c语言求n!的递归算法
c语言用递归函数求n的阶乘以下是使用递归算法来计算n!的C语言代码:
```c
#include <stdio.h>
int factorial(int n) {
// 基本情况:0! = 1
if (n == 0) {
return 1;
}
// 递归情况:n! = n * (n-1)!
else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("请输入一个非负整数:");
scanf("%d", &n);
printf("%d! = %d\n", n, factorial(n));
return 0;
}
```
在上述代码中,`factorial()`函数是递归函数,用于计算n的阶乘。当n为0时,返回1(基本情况),否则返回n乘以`factorial(n-1)`的结果(递归情况)。在`main()`函数中,首先获取用户输入的非负整数n,然后调用`factorial()`函数来计算n的阶乘,并将结果打印出来。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论