#include<iostream>
using namespace std;
const int N=20;
int main(void)
{
int a[N][N]={0};
cout<<"Enter the dimension:"<<endl;
int d,t=1,k=0,flag=0;
cin>>d;
int i=0,j=0;
while(k<d*d)
{
while(j<d-flag)
{a[i][j]=t;j++;t++;k++;}
j--;//因为j超出了边界
while(i<d-flag-1)
{a[++i][j]=t;t++;k++;}
while(j>flag)
{a[i][--j]=t;t++;k++;}
flag++;//因为少了最外面那一层了
while(i>flag)
{a[--i][j]=t;t++;k++;}
j++;//准备向右转了
}
for(int i=0;i<d;i++)
{
for(int j=0;j<d;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
using namespace std;
const int N=20;
int main(void)
{
int a[N][N]={0};
cout<<"Enter the dimension:"<<endl;
int d,t=1,k=0,flag=0;
cin>>d;
int i=0,j=0;
while(k<d*d)
{
while(j<d-flag)
{a[i][j]=t;j++;t++;k++;}
j--;//因为j超出了边界
while(i<d-flag-1)
{a[++i][j]=t;t++;k++;}
while(j>flag)
{a[i][--j]=t;t++;k++;}
flag++;//因为少了最外面那一层了
while(i>flag)
{a[--i][j]=t;t++;k++;}
j++;//准备向右转了
}
for(int i=0;i<d;i++)
{
for(int j=0;j<d;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}