C语言设计程序,递归函数求斐波那契数列
时间: 2023-08-16 12:20:09 浏览: 72
好的,下面是递归函数求斐波那契数列的C语言程序:
```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, i;
printf("请输入要求第几项的斐波那契数列: ");
scanf("%d", &n);
printf("斐波那契数列前%d项为: ", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
其中,`fibonacci`函数接收一个整数参数`n`,如果`n`为0或1,则直接返回0或1;否则,返回`fibonacci(n-1)`和`fibonacci(n-2)`的和。在`main`函数中,先输入要求的项数`n`,然后使用循环依次输出斐波那契数列前`n`项。
相关问题
C语言设计程序,递归函数求斐波那契数列第n项
好的,下面是递归函数求斐波那契数列第n项的C语言程序:
```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("请输入要求第几项的斐波那契数列: ");
scanf("%d", &n);
printf("斐波那契数列第%d项为: %d\n", n, fibonacci(n));
return 0;
}
```
其中,`fibonacci`函数的递归规则与上面的程序相同。在`main`函数中,先输入要求的项数`n`,然后调用`fibonacci`函数计算第`n`项的值,并输出结果。
c语言递归函数求斐波那契数列
C语言中可以使用递归函数来求解斐波那契数列。斐波那契数列是一个数列,其中每个数字都是前两个数字的和,起始数字为0和1。以下是使用递归函数求解斐波那契数列的示例代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n, i;
printf("请输入要求解的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前 %d 项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
在上述代码中,`fibonacci` 函数使用递归的方式来计算斐波那契数列的第 `n` 项。当 `n` 小于等于1时,直接返回 `n`。否则,递归调用 `fibonacci(n-1)` 和 `fibonacci(n-2)` 来计算第 `n` 项的值。
请注意,递归函数在计算大量项时可能会导致性能问题,因为它会重复计算相同的项。可以使用动态规划等其他方法来提高效率。