#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");
}
}



京公网安备 11010502036488号