#include <stdio.h> int main() { int num=1,n,row=0,col=0,a[1000][1000],i,j; scanf("%d",&n); while(num<=n*n) { for(i=0;i<2;i++)//横向输入 { if(col<n&&row<n) a[row][col]=num++; col++; } col--; while(col) //副对角线 { col--; row++; if(col<n&&row<n) a[row][col]=num++; }row++; while(row)//主对角线 { if(col<n&&row<n) a[row][col]=num++; row--; col++; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%d ",a[i][j]); } printf("\n"); } }