用c语言写一个斐波那契数列
时间: 2023-11-17 10:01:45 浏览: 45
以下是用C语言实现斐波那契数列的三种方法:
```c
// 方法一:递归
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
// 方法二:非递归
int fibonacci(int n) {
int a = 0, b = 1, c, i;
if (n == 0) {
return a;
}
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
// 方法三:数组
int fibonacci(int n) {
int fib[n+1];
int i;
fib[0] = 0;
fib[1] = 1;
for (i = 2; i <= n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
return fib[n];
}
```
相关问题
用C语言写一个斐波那契数列
好的,以下是C语言实现斐波那契数列的代码:
```c
#include<stdio.h>
int main()
{
int n, i, t1 = 0, t2 = 1, nextTerm;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("斐波那契数列前 %d 项为:\n", n);
for (i = 1; i <= n; ++i)
{
printf("%d, ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
return 0;
}
```
该代码会先要求用户输入一个正整数n,然后输出斐波那契数列的前n项。其中t1和t2为前两项,nextTerm为下一项,通过循环计算并输出斐波那契数列的前n项。
用c语言写一个斐波那契数列函数
好的,以下是用 C 语言编写的斐波那契数列函数:
```c
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1, i, temp;
if (n == 0) {
return a;
}
for (i = 2; i <= n; i++) {
temp = a + b;
a = b;
b = temp;
}
return b;
}
int main() {
int n = 10;
printf("斐波那契数列的第%d项为:%d\n", n, fibonacci(n));
return 0;
}
```
请注意,这是一个非递归的实现方式,因为递归方式的计算效率较低。