#include <bits/stdc++.h>
using namespace std;

int a[100][100];
int main()
{	int n,m;
	cin>>n;
	m=n;
	int d1[]={0,1,0,-1};
	int d2[]={1,0,-1,0};
	for(int x=0,y=0,s=0,k=1;k<=n*m;k++)
	{
		a[x][y]=k;
		int c=x+d1[s],d=y+d2[s];
		if(c<0||c>=n||d<0||d>=m||a[c][d])
		{
			s=(s+1)%4;
			c=x+d1[s];
			d=y+d2[s];
		}
		else c=c,d=d;
		x=c;
		y=d;	
		
	}
	
	for(int i=0;i<n;i++)
	{	for(int j=0;j<m;j++)
			{
				printf("%3.d", a[i][j]);
				
			}
		cout<<endl;
	}
	return 0;
}

终于补好了

0 comments

No comments so far...