c语言递归定义函数实例
时间: 2024-11-23 16:16:10 浏览: 15
在C语言中,递归函数是指在一个函数内部直接或间接地调用自己的函数。递归通常用于解决可以分解成相似小问题的问题,例如计算阶乘、斐波那契数列等。下面是一个计算阶乘的简单递归函数实例:
```c
#include <stdio.h>
// 递归函数定义
int factorial(int n) {
// 基线条件:当n等于0或1时,返回1(因为0! = 1! = 1)
if (n == 0 || n == 1)
return 1;
// 递归条件:n的阶乘 = n * (n - 1) 的阶乘
else
return n * factorial(n - 1);
}
int main() {
int num;
printf("请输入一个非负整数: ");
scanf("%d", &num);
// 输出该数的阶乘结果
printf("The factorial of %d is %d\n", num, factorial(num));
return 0;
}
```
在这个例子中,`factorial`函数会一直调用自身,直到达到基本情况,然后逐层返回结果,最终得到完整的阶乘值。
相关问题
c语言递归算法程序实例
好的,以下是一个示例的 C 语言递归算法程序,用于计算阶乘:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d 的阶乘为 %d", num, factorial(num));
return 0;
}
```
在这个程序中,我们定义了一个名为 `factorial` 的递归函数,它接受一个整数参数 `n`,并返回 `n` 的阶乘。如果 `n` 为 0,则直接返回 1,否则递归计算 `n-1` 的阶乘并将其与 `n` 相乘。
在 `main` 函数中,我们读取用户输入的整数,然后调用 `factorial` 函数计算它的阶乘,并将结果打印出来。
阅读全文