admin 管理员组

文章数量: 887021


2024年1月23日发(作者:mysql如何查询表信息)

c语言用递归法计算n的阶乘

在C语言中,可以使用递归法来计算一个数的阶乘。例如,要计算n的阶乘,可以使用以下代码:

```c

#include

int factorial(int n) {

if (n == 0) {

return 1; // 0的阶乘为1

} else {

return n * factorial(n - 1); // 递归调用

}

}

int main() {

int n;

printf('输入一个整数:');

scanf('%d', &n);

printf('%d的阶乘为:%d', n, factorial(n));

return 0;

}

```

在这个代码中,我们定义了一个函数`factorial`,它接受一个整数参数n,返回n的阶乘。如果n为0,则返回1(因为0的阶乘 - 1 -

为1)。否则,递归调用`factorial`函数,传入n-1作为参数,并将其乘以n后返回。

在`main`函数中,我们首先读取一个整数n,并将其传入`factorial`函数中计算阶乘。最后,我们输出n的阶乘的值。

这种方法的优点是代码简单易懂,但当n很大时会导致栈溢出。因此,在实际编程中要注意选择合适的算法来计算阶乘。

- 2 -


本文标签: 计算 整数 递归 参数 函数