用C语言编写以下程序;输出斐波那契数列第n项(假设n<1000)。斐波那契数列:0,1,1,2,3,5,8,13……
时间: 2024-01-08 13:49:46 浏览: 35
好的,以下是用C语言编写的程序,可以输出斐波那契数列第n项(n<1000)。
```
#include <stdio.h>
int main()
{
int n,i;
long long fib[1000];
printf("请输入需要输出的斐波那契数列项数:");
scanf("%d",&n);
fib[0]=0;
fib[1]=1;
for(i=2;i<=n;i++)
{
fib[i]=fib[i-1]+fib[i-2];
}
printf("斐波那契数列第%d项为:%lld\n",n,fib[n]);
return 0;
}
```
相关问题
用C语言写出以下程序输出斐波那契数列第n项(假设n<1000)。斐波那契数列:0,1,1,2,3,5,8,13……
这是一个常见的问题,可以用递归或者循环来解决。以下是一个用循环实现的 C 代码:
#include <stdio.h>
int main()
{
int n;
printf("请输入 n:");
scanf("%d", &n);
int i, a = 0, b = 1, c;
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
printf("斐波那契数列第 %d 项为 %d\n", n, b);
return 0;
}
用C语言编写一个计算斐波那契数列第n项的程序
以下是用C语言编写的计算斐波那契数列第n项的程序:
```c
#include <stdio.h>
int main() {
int n, i;
long long int fib1 = 0, fib2 = 1, fib; // 使用 long long int 类型防止数据溢出
printf("请输入要计算的斐波那契数列数列项数:");
scanf("%d", &n);
if (n < 0) {
printf("输入有误,斐波那契数列项数不能小于0!");
return 0;
} else if (n == 0) {
printf("斐波那契数列第0项为0");
return 0;
} else if (n == 1) {
printf("斐波那契数列第1项为1");
return 0;
}
for (i = 2; i <= n; i++) { // 从第2项开始计算斐波那契数列
fib = fib1 + fib2; // 计算第i项的值
fib1 = fib2; // 更新前两项的值
fib2 = fib;
}
printf("斐波那契数列第%d项为%lld", n, fib);
return 0;
}
```
运行结果示例:
```
请输入要计算的斐波那契数列数列项数:10
斐波那契数列第10项为55
```