代码:
#include<bits/stdc++.h>
using namespace std;
int squ[101][101];
int main(){
int n,way=0,i,num=0;
cin>>n;
int xnow=0,ynow=1;
for(int _i=2*n;_i>=2;_i--){
i=int(_i/2);
way++;
way=way%4;
if(way==1){
for(int j=xnow+1;j<=xnow+i;j++){
num++;
squ[ynow][j]=num;
}
xnow+=i;
}else if(way==2){
for(int j=ynow+1;j<=ynow+i;j++){
num++;
squ[j][xnow]=num;
}
ynow+=i;
}else if(way==3){
for(int j=xnow-1;j>=xnow-i;j--){
num++;
squ[ynow][j]=num;
}
xnow-=i;
}else{
for(int j=ynow-1;j>=ynow-i;j--){
num++;
squ[j][xnow]=num;
}
ynow-=i;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%5d ",squ[i][j]);
}
cout<<endl;
}
return 0;
}