#include<stdio.h>
int main(){
int n,a[20][20],i,j,d,r=0,count=1;
scanf("%d",&n);
d=n;
while(count<=n*n)
{
for(i=r;i<d;i++)//向右
a[r][i]=count++;
for(i=r+1;i<d;i++)//向下
a[i][d-1]=count++;
for(i=d-2;i>r-1;i--)//向左
a[d-1][i]=count++;
for(i=d-2;i>r;i--)//向上
a[i][r]=count++;
r++;//缩小范围在次循环
d--;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}



京公网安备 11010502036488号