1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
#includeusing namespace std; #define N 15 int mat[N][N]; int all; void getLayer(int x,int y) //根据下标的规律,一层一层输出 { int a=y,b=x; mat[x][y]=all++; if(x>a) { while(x!=a) { x--; y++; mat[x][y]=all++; } } else { while(x!=a) { x++; y--; mat[x][y]=all++; } } } void changeLayer(int x,int y) //每次输出一层,则转下一层 { while(x<=N-1&&y<=N-1) { if(x