//蛇形矩阵
#include <stdio.h>
int main() {
int n, arr[1000][1000] = {0}, x = 1;
scanf("%d", &n);
for (int i = 1; i <= 2 * n - 1; i++) {
int row = i;
int column = 1;
while (row >= 1) {
if (row <= n && column <= n) {
if (i % 2 != 0) { //奇数行
arr[row][column] = x++;
} else {
arr[column][row] = x++;
}
}//放置数字的判断
row--, column++;//不要把这行代码放入上方if语句中会造成死循环!!!
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}

京公网安备 11010502036488号