用c语言写一个递归的例子
时间: 2023-03-14 17:35:09 浏览: 68
我可以为你提供一个用C语言写的递归例子: int factorial(int n)
{
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
相关问题
用C语言写一个递归例子
好的,以下是一个用C语言写的递归例子:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 5;
int result = factorial(n);
printf("The factorial of %d is %d\n", n, result);
return 0;
}
```
这个例子计算了一个数的阶乘,使用了递归的方式实现。如果输入的数是0,则返回1;否则,计算n的阶乘需要先计算(n-1)的阶乘,以此类推,直到计算到0的阶乘为止。
用C语言编写一个递归函数
以下是一个计算斐波那契数列的递归函数示例:
```c
#include <stdio.h>
int fib(int n) {
if (n == 0 || n == 1) {
return n;
}
else {
return fib(n-1) + fib(n-2);
}
}
int main() {
int n;
printf("请输入要计算的斐波那契数列项数:");
scanf("%d", &n);
printf("斐波那契数列的第%d项为:%d\n", n, fib(n));
return 0;
}
```
在这个例子中,我们定义了一个名为 `fib` 的递归函数,该函数接收一个整数参数 `n`,并返回斐波那契数列的第 `n` 项。如果 `n` 等于 0 或 1,函数将直接返回 `n`。否则,函数将递归地调用自身,计算第 `n-1` 和 `n-2` 项的值,并将它们相加返回。
在 `main` 函数中,我们从用户那里获取要计算的斐波那契数列项数,然后调用 `fib` 函数计算对应的项数。最后,我们将结果输出到屏幕上。