#include<iostream.h>
void main()
{
int n,i=0,j=0,k=1,q=1;
int a[50][50]={0};
cout<<"Input n<50"<<endl;
cin>>n;
while(1)
{
if(q==1)
{
while(1)
{
a[i][j++]=k++;
if(j>=n||a[i][j]!=0)
{
j--;
k--;
break;
}
}
q++;
}
if(q==2)
{
while(1)
{
a[i++][j]=k++;
if(i>=n||a[i][j]!=0)
{
i--;
k--;
break;
}
}
q++;
}
if(q==3)
{
while(1)
{
a[i][j--]=k++;
if(j<0||a[i][j]!=0)
{
j++;
k--;
break;
}
}
q++;
}
if(q==4)
{
while(1)
{
a[i--][j]=k++;
if(i<0||a[i][j]!=0)
{
i++;
k--;
break;
}
}
q=1;
}
if(k==n*n)
break;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
输入数字2,则程序输出:
1 2
4 3
输入数字3,则程序输出:
1 2 3
8 9 4
7 6 5
输入数字4, 则程序输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7