C语言计算斐波那契数
时间: 2023-02-25 13:45:54 浏览: 48
C语言可以使用循环和递归来计算斐波那契数列。下面是一个递归的实现:
```
#include <stdio.h>
int fibonacci(int n) {
if (n <= 0) return 0;
if (n == 1) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
printf("请输入要求的斐波那契数:");
scanf("%d", &n);
printf("第 %d 个斐波那契数是 %d\n", n, fibonacci(n));
return 0;
}
```
使用循环的实现如下:
```
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1, c, i;
if (n <= 0) return 0;
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
int n;
printf("请输入要求的斐波那契数:");
scanf("%d", &n);
printf("第 %d 个斐波那契数是 %d\n", n, fibonacci(n));
return 0;
}
```
相关问题
c语言 计算斐波那契数列
在C语言中,我们可以使用多种方法来计算斐波那契数列,包括递归、非递归和数组等方法。其中,数组法是一种比较高效的方法。下面是一个使用数组法计算斐波那契数列的C语言代码:
```c
#include <stdio.h>
int Fib(int n) {
int i;
int arr[100] = {0,1,1};
for (i = 2; i <= n; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[n];
}
int main() {
int n;
scanf("%d", &n);
printf("%d", Fib(n));
return 0;
}
```
在这个代码中,我们定义了一个数组`arr`,并将前两项初始化为0和1。然后,我们使用循环计算出第n项的值,并返回该值。在主函数中,我们通过输入一个整数n来计算斐波那契数列的第n项,并将结果输出。
c语言计算fibonacci数列
以下是使用递归方式计算Fibonacci数列的C语言代码:
```c
#include <stdio.h>
// 计算Fibonacci数列的函数
int fibonacci(int n)
{
if (n <= 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n, i;
printf("请输入要计算的Fibonacci数列的项数: ");
scanf("%d", &n);
printf("Fibonacci数列的前%d项为:\n", n);
for (i = 0; i < n; i++)
{
printf("%d ", fibonacci(i));
}
return 0;
}
```
该代码通过递归的方式计算Fibonacci数列。用户需要输入要计算的Fibonacci数列的项数,程序会输出对应项数的Fibonacci数列。