用c递归求斐波那契数列
时间: 2024-01-16 14:17:37 浏览: 51
以下是使用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("请输入你要打印的斐波那契数列项数:\n");
scanf("%d", &n);
printf("斐波那契数列:");
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
这段代码中,我们定义了一个名为`fibonacci`的函数,该函数使用递归的方式计算斐波那契数列的第n项。在`main`函数中,我们首先获取用户输入的项数n,然后使用循环打印出斐波那契数列的前n项。
相关问题
c语言递归求斐波那契数列
以下是使用C语言递归求解斐波那契数列的代码:
```c
#include <stdio.h>
int fib(int n) {
if (n <= 1) {
return n;
}
return fib(n-1) + fib(n-2);
}
int main() {
int n;
printf("请输入要求第几个斐波那契数:");
scanf("%d", &n);
printf("第%d个斐波那契数为%d\n", n, fib(n));
return 0;
}
```
c语言用递归求斐波那契数列防溢出
以下是使用C语言递归求斐波那契数列并防止溢出的示例代码:
```c
#include <stdio.h>
unsigned long long Fib(unsigned long long n) {
if (n <= 2) {
return 1;
} else {
return (Fib(n - 1) + Fib(n - 2));
}
}
int main() {
unsigned long long n;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%llu", &n);
printf("第 %llu 项的斐波那契数为:%llu\n", n, Fib(n));
return 0;
}
```
在上述代码中,我们使用了`unsigned long long`类型来存储斐波那契数列的项数和结果,以防止溢出。`unsigned long long`类型可以存储更大范围的非负整数。