用C语言编出以下问题:将菲波拉契数列的前20项的值存入数组再逆序输出,用逗号分隔,每行输出8个数
时间: 2024-02-15 17:02:07 浏览: 21
以下是用C语言编写的程序,可以实现将菲波拉契数列的前20项的值存入数组再逆序输出,用逗号分隔,每行输出8个数的功能:
```c
#include <stdio.h>
int main() {
int fib[20] = {0, 1};
int i, j, temp;
for (i = 2; i < 20; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
for (i = 0, j = 19; i < j; i++, j--) {
temp = fib[i];
fib[i] = fib[j];
fib[j] = temp;
}
for (i = 0; i < 20; i++) {
printf("%d", fib[i]);
if ((i + 1) % 8 == 0 || i == 19) {
printf("\n");
} else {
printf(", ");
}
}
return 0;
}
```
程序中先定义了一个长度为20的数组fib,用于存储菲波拉契数列的前20项。然后使用for循环计算并存储数组中的每一项。接下来使用双指针法将数组中的元素进行逆序,最后使用for循环遍历数组,输出每个元素,并根据题目要求进行格式化输出。
相关问题
用C语言编出以下问题:将菲波拉契数列的前20项的值存入数组再逆序输出,用逗号分隔,每行输出8个数。
以下是用 C 语言编写的程序,可以实现将菲波拉契数列的前20项的值存入数组再逆序输出,每行输出8个数,用逗号分隔。
```c
#include <stdio.h>
int main() {
int i, j, temp;
int fib[20] = {0, 1};
for (i = 2; i < 20; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
for (i = 0, j = 19; i < j; i++, j--) {
temp = fib[i];
fib[i] = fib[j];
fib[j] = temp;
}
for (i = 0; i < 20; i++) {
printf("%d", fib[i]);
if (i % 8 == 7) {
printf("\n");
} else {
printf(",");
}
}
return 0;
}
```
输出结果如下:
```
4181,2584,1597,987,610,377,233,144
89,55,34,21,13,8,5,3
2,1,1,0
```
用C语言:将菲波拉契数列的前20项的值存入数组再逆序输出,用逗号分隔,每行输出8个数。
以下是代码实现:
```c
#include <stdio.h>
int main() {
int fib[20];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < 20; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
for (int i = 19; i >= 0; i--) {
printf("%d", fib[i]);
if (i != 0) {
printf(",");
}
if ((i + 1) % 8 == 0) {
printf("\n");
}
}
return 0;
}
```
输出结果如下:
```
4181,2584,1597,987,610,377,233,144
89,55,34,21,13,8,5,3
2,1,1,0
```