用c语言编程,输入一个整数n 输出斐波拉切数列的前20项
时间: 2024-02-19 07:57:33 浏览: 102
好的,以下是用C语言编写的斐波拉切数列的代码:
```c
#include <stdio.h>
int main()
{
int n = 20; // 输出前20项
int f1 = 1, f2 = 1, f3;
printf("斐波拉切数列的前20项为:\n");
printf("%d %d ", f1, f2); // 输出前两项
for (int i = 3; i <= n; i++) {
f3 = f1 + f2;
printf("%d ", f3);
f1 = f2;
f2 = f3;
}
return 0;
}
```
在程序中,我们首先定义了整数n,表示要输出的斐波拉切数列的项数。然后定义了三个整数变量f1、f2、f3,其中f1和f2分别为斐波拉切数列的前两项。
接着,我们使用for循环计算并输出斐波拉切数列的第3项到第n项。每一次循环中,我们都先计算f3的值,即前两项的和,然后输出f3,同时将f1和f2更新为下一次循环所需的值。
最后,我们使用return语句结束程序的执行。执行该程序,会输出斐波拉切数列的前20项,结果如下:
```
斐波拉切数列的前20项为:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
```
相关问题
设计一个代码,可以输入一个正整数,计算并输出斐波拉切数列前n项数据。
好的,我可以回答这个问题。以下是计算斐波拉切数列前n项数据的代码:
#include <stdio.h>
int main() {
int n, i;
long long a = , b = 1, c;
printf("请输入正整数n:");
scanf("%d", &n);
printf("斐波拉切数列前%d项为:\n", n);
for (i = 1; i <= n; i++) {
printf("%lld ", a);
c = a + b;
a = b;
b = c;
}
return ;
}
希望能帮到你!
用递归法计算前n项斐波拉切数列c语言
可以使用递归的方式计算斐波那契数列,代码如下:
```c
#include <stdio.h>
int fibonacci(int n);
int main() {
int n, i;
printf("输入要计算的前n项斐波那契数列:");
scanf("%d", &n);
printf("斐波那契数列前%d项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
```
在这个程序中,我们使用了 `fibonacci` 函数来计算斐波那契数列的第 `n` 项。如果 `n` 等于 0 或 1,则直接返回 `n`,否则递归调用 `fibonacci` 函数来计算前两项的和。
在 `main` 函数中,我们首先读入要计算的前 `n` 项斐波那契数列,然后使用循环来依次计算并输出前 `n` 项的值。
阅读全文