用c语言使用递归算法求斐波那契数列,该数列的公式如下: 1 n=1 f(n)= 1 n=2 f(n-1)+f(n-2) n>2
时间: 2024-05-03 19:19:47 浏览: 29
好的,以下是使用递归算法求斐波那契数列的代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n = 10; // 求第10个斐波那契数
printf("第%d个斐波那契数是%d", n, fibonacci(n));
return 0;
}
```
在这段代码中,我们定义了一个 `fibonacci` 函数来递归地计算斐波那契数列。如果 `n` 等于 1 或 2,那么直接返回 1;否则,我们递归地调用 `fibonacci(n-1)` 和 `fibonacci(n-2)` 来计算结果。
在 `main` 函数中,我们调用 `fibonacci` 函数来计算第 10 个斐波那契数,并将结果打印出来。你可以将 `n` 修改为其他值来计算不同位置的斐波那契数。
相关问题
用C语言编写:用递归算法处理Fibonacci数列问题,计算输出ibonacci数列的第n项
以下是用递归算法处理Fibonacci数列问题的C语言代码,可以计算输出Fibonacci数列的第n项:
```c
#include <stdio.h>
int fibonacci(int n)
{
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main()
{
int n;
printf("请输入要计算的Fibonacci数列的项数n:");
scanf("%d", &n);
printf("Fibonacci数列的第%d项为:%d", n, fibonacci(n));
return 0;
}
```
在上述代码中,`fibonacci` 函数是一个递归函数,用于计算Fibonacci数列的第n项。当n为0或1时,直接返回对应的值;否则,递归地调用 `fibonacci` 函数计算第n-1项和第n-2项的值,然后将它们相加得到第n项的值。
在 `main` 函数中,首先提示用户输入要计算的Fibonacci数列的项数n,然后使用 `scanf` 函数读取用户输入的值。接着调用 `fibonacci` 函数计算第n项的值,并使用 `printf` 函数输出结果。
c语言用递归算法求Fibonacci数列的前40个数
好的,以下是用递归算法求Fibonacci数列的前40个数的C语言代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 40, i;
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
在这个代码中,我们定义了一个递归函数 `fibonacci()`,它接收一个整数参数 `n`,并返回 Fibonacci 数列中第 `n` 项的值。当 `n` 小于等于 1 时,直接返回 `n`;否则,递归调用 `fibonacci()` 函数,并返回前两项之和。在 `main()` 函数中,我们调用 `fibonacci()` 函数来输出前40项 Fibonacci 数列的值。