|
C语言编程,用递归法计算n!。具体要求是:当n<0时返回-1;当n=0 或者n=1 时,返回1;当n>1时,返回n!。
以下是使用递归法计算 n! 的 C 代码:
- #include <stdio.h>
- int factorial(int n) {
- if (n < 0) {
- return -1;
- } else if (n == 0 || n == 1) {
- return 1;
- } else {
- return n * factorial(n - 1);
- }
- }
- int main() {
- int n = 5;
- int result = factorial(n);
- printf("%d! = %d\n", n, result);
- return 0;
- }
复制代码 在上面的代码中,我们定义了一个名为 `factorial` 的递归函数,它接受一个整数 `n` 作为参数,并返回 `n!` 的结果。首先,我们检查 `n` 的值,如果 `n` 小于 0,则返回 -1 表示无效输入。如果 `n` 等于 0 或 1,则返回 1。否则,我们调用递归函数 `factorial` 来计算 `n-1` 的阶乘,并将其乘以 `n` ,最终返回结果。
在主函数中,我们将 `n` 设置为 5,并调用 `factorial` 函数来计算 5 的阶乘,并将结果打印出来。输出应为 `5! = 120` 。
|
|