c语言输出前两项为1的斐波那契数列前20项、每输出5个数换行
时间: 2024-03-05 13:50:18 浏览: 23
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int n = 20; // 前20项
int a = 1, b = 1, c, i; // 前两个数为1
printf("%d %d ", a, b); // 输出前两项
for (i = 3; i <= n; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
if (i % 5 == 0) { // 每输出5个数换行
printf("\n");
}
}
return 0;
}
```
上述代码中,除了前两项以外,其余的计算方式和输出方式与前一个问题相同。因此,在循环之前先输出前两项的值,然后从第三项开始计算和输出即可。
输出结果如下:
```
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
```
相关问题
c语言输出前两项为1的斐波那契数列前20项、每输出5个数换行空格隔开
请看下面的代码:
```c
#include <stdio.h>
int main()
{
int num1 = 1, num2 = 1, num3, i;
printf("%d %d ", num1, num2);
for (i = 3; i <= 20; i++)
{
num3 = num1 + num2;
printf("%d ", num3);
num1 = num2;
num2 = num3;
if (i % 5 == 0) //每输出5个数就换行
printf("\n");
}
return 0;
}
```
输出结果为:
```
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
```
c语言输出前两项为1的斐波那契数列前20项、每输出5个数换行,不用空格隔开
请看下面的代码:
```c
#include <stdio.h>
int main()
{
int num1 = 1, num2 = 1, num3, i;
printf("%d\n%d\n", num1, num2);
for (i = 3; i <= 20; i++)
{
num3 = num1 + num2;
printf("%d\n", num3);
num1 = num2;
num2 = num3;
if (i % 5 == 0) //每输出5个数就换行
printf("\n");
}
return 0;
}
```
输出结果为:
```
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
```