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小时内删除。