求调,还有很多0(笔者可能第二天才回复
查看原帖
求调,还有很多0(笔者可能第二天才回复
1200551
yuan2795楼主2024/9/4 13:31
#include <bits/stdc++.h>
using namespace std;
int n;
int a[10][10];
int b;


int vis[5][2]={{1,0},{0,1},{-1,0},{0,-1}};

int main()
{
	int x=1;
	int y=1;
	cin>>n;
	int k=0;

	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			k++;
			a[x][y]=k;
			if(k==n*n)
			{
				break;
			}
			int w=x+vis[b][0];
			int cu=y+vis[b][1];
			if(!(w>=1&&w<=n&&cu>=1&&cu<=n&&a[w][cu]))
			{
				b=(b+1)%4;
			}
			x+=vis[b][0];
			y+=vis[b][1];
			//cout<<a[x][y];
			
		}
		//cout<<endl;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cout<<" ";
			if(a[i][j]<10)
			{
				cout<<" ";
			}
			cout<<a[i][j];
		}
		cout<<endl;
	}
}
2024/9/4 13:31
加载中...