//蛇形矩阵 #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; }