C语言递归实现求Fabonacci数列:用递归方法编写斐波那契数列的函数,返回值为整型,并写出相应主函数。斐波那契数列的定义为f(0)=0,f(1)=1f(n)=f(n-2)+f(n-1)(n>1)
时间: 2024-12-13 17:26:10 浏览: 42
在C语言中,递归是通过函数自身调用来解决问题的一种技术。要实现斐波那契数列的递归算法,你可以创建一个名为`fibonacci`的函数,它接受一个整数参数`n`并返回第`n`项的斐波那契数值。以下是递归版本的实现:
```c
#include <stdio.h>
// 定义递归计算斐波那契数的函数
int fibonacci(int n) {
// 基本情况:f(0) = 0, f(1) = 1
if (n == 0)
return 0;
else if (n == 1)
return 1;
// 递归情况:f(n) = f(n-1) + f(n-2)
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n, i;
printf("请输入一个正整数n:");
scanf("%d", &n);
// 检查输入是否合法
if (n <= 0) {
printf("输入错误! 请输入一个正整数。\n");
return 1;
}
// 输出斐波那契数列
for (i = 0; i <= n; ++i) {
printf("F(%d) = %d\n", i, fibonacci(i));
}
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个正整数`n`,然后计算并打印出从`0`到`n`的斐波那契序列。
阅读全文