C语言计算斐波那契数
时间: 2023-02-25 18:45:54 浏览: 86
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语言计算斐波那契数列
好的,计算斐波那契数列可以使用递归和循环两种方法来实现。下面是使用循环方式计算斐波那契数列的c语言代码示例:
```c
#include <stdio.h>
int main() {
int num, i;
int a = 0, b = 1, c;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%d", &num);
printf("斐波那契数列的前 %d 项为:\n", num);
for (i = 1; i <= num; i++) {
printf("%d, ", a);
c = a + b;
a = b;
b = c;
}
return 0;
}
```
以上代码中,我们首先通过 scanf 函数获取用户输入的斐波那契数列的项数,然后通过循环计算斐波那契数列的每一项。在循环中,我们使用 a,b,c 三个变量来辅助计算。其中,a 和 b 分别表示前两项,c 表示当前项。每一次循环都会输出当前项的值,并更新 a 和 b 的值,用于计算下一项。
阅读全文