用C语言递归函数写斐波那契数列
时间: 2024-12-27 10:31:01 浏览: 73
在C语言中,递归函数可以用来计算斐波那契数列,这是一个经典的数学序列,其中每个数字是前两个数字之和,通常初始的两个数字是0和1。下面是一个简单的递归函数实现:
```c
#include <stdio.h>
// 定义斐波那契数列的递归函数
int fibonacci(int n) {
if (n <= 1) { // 基本情况:当n小于等于1时,返回n
return n;
} else {
// 递归情况:n大于1时,返回前两个数的和
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int num; // 输入要查询的斐波那契数的位置
printf("请输入一个正整数:");
scanf("%d", &num);
if (num >= 0) {
printf("斐波那契数列的第%d项是:%d\n", num, fibonacci(num));
} else {
printf("输入错误,只能计算非负整数的斐波那契数。\n");
}
return 0;
}
```
在这个函数里,`fibonacci(n)`会不断地调用自身来计算较小的斐波那契数值,直到达到基本情况(n <= 1)。然而,需要注意的是,递归方法虽然直观,但效率不高,因为存在大量的重复计算。对于较大的n值,可能会导致栈溢出。
阅读全文
相关推荐


