输出一个 n 阶方阵,其元素排列方式为:从左上角开始按列顺序呈现出蛇形。如: 1 20 21 40 41 60 61 80 81 100 2 19 22 39 42 59 62 79 82 99 3 18 23 38 43 58 63 78 83 98 4 17 24 37 44 57 64 77 84 97 5 16 25 36 45 56 65 76 85 96 6 15 26 35 46 55 66 75 86 95 7 14 27 34 47 54 67 74 87 94 8 13 28 33 48 53 68 73 88 93 9 12 29 32 49 52 69 72 89 92 10 11 30 31 50 51 70 71 90 91 用c语言代码解决
时间: 2023-12-21 19:07:08 浏览: 192
以下是用C语言代码实现的解决方案:
```c
#include <stdio.h>
#define MAX 10
int main() {
int arr[MAX][MAX];
int i, j, num = 1;
// 填充数组
for (j = 0; j < MAX; j++) {
if (j % 2 == 0) { // 从上往下填充
for (i = 0; i < MAX; i++) {
arr[i][j] = num++;
}
} else { // 从下往上填充
for (i = MAX - 1; i >= 0; i--) {
arr[i][j] = num++;
}
}
}
// 输出数组
for (i = 0; i < MAX; i++) {
for (j = 0; j < MAX; j++) {
printf("%3d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
代码中,我们首先定义一个 MAX 常量表示方阵的阶数,然后定义一个二维数组 arr 存储方阵中的元素。接着,我们使用两个循环嵌套来填充数组,其中,如果当前列的序号为偶数,则从上往下填充;否则,从下往上填充。最后,我们再次使用两个循环嵌套来输出数组。
运行上述代码,即可得到如题目所示的蛇形方阵。
阅读全文