#include<stdio.h>
int main()
{
int num[100][100]={0};
int o;
scanf("%d",&o);
int n1=0,n2=o-1;
int i,j,k,l;
int count=1;
while(n1<n2)
{
for(i=n1;i<=n2;i++)
{
num[n1][i]=count;
count++;
}
for(j=n1+1;j<=n2-1;j++)
{
num[j][n2]=count;
count++;
}
for(k=n2;k>=n1;k--)
{
num[n2][k]=count;
count++;
}
for(l=n2-1;l>=n1+1;l--)
{
num[l][n1]=count;
count++;
}
n1++;
n2--;
}
if(o%2!=0)
num[o/2][o/2]=o*o;
for(int m=0;m<o;m++)
{
for(int n=0;n<o;n++)
{
printf("%d ",num[m][n]);
}
printf("\n");
}
return 0;
}

京公网安备 11010502036488号