用c语言写一个斐波那契数列
时间: 2023-11-17 17:01:45 浏览: 171
以下是用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语言程序,用于输出斐波那契数列:#include <stdio.h> int main()
{
int n, first = 0, second = 1, next, c;
printf("输入斐波那契数列的元素个数:");
scanf("%d",&n);
printf("斐波那契数列:\n");
for (c = 0; c < n; c++)
{
if (c <= 1)
next = c;
else
{
next = first + second;
first = second;
second = next;
}
printf("%d\n",next);
}
return 0;
}
请用c语言写一个斐波那契数列的程序
#include <stdio.h>
int main() {
int n, i;
int f[100]; // 用数组存储斐波那契数列,最多存储前100项
printf("求斐波那契数列的前 n 项,请输入 n:");
scanf("%d", &n);
// 前两项为1
f[0] = 1;
f[1] = 1;
// 从第三项开始,每一项等于前两项之和
for (i = 2; i < n; i++) {
f[i] = f[i-1] + f[i-2];
}
// 输出前 n 项
printf("斐波那契数列的前 %d 项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", f[i]);
}
printf("\n");
return 0;
}
阅读全文