40分求救?
查看原帖
40分求救?
689634
zhu_zhu_zhi_shen_zhu楼主2022/10/22 17:56
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,a[41][41],x=1,y,t=2;
	cin >> n;
	y=(n+1)/2;
	a[x][y]=1;
	int d=n*n;
	for(int i=2;i<=d;i++)
	{
	    if(x==1&&y!=n)
	    {
	    	a[n][y+1]=t;
	    	x=n;
	    	y+=1;
	    	t++;
		}
		else if(x!=1&&y==n) 
		{
			a[x-1][1]=t;
			x-=1;
			y=1;
			t++;
		}
		else if(x==1&&y==n) 
		{
			a[x+1][y]=t;
			x+=1;
			t++;
		}
		else  
		{
			if(a[x-1][y+1]==0) 
			{
				a[x-1][y+1]=t;
				x-=1;
				y+=1;
				t++;
			}
			else
			{
				a[x+1][y]=t;
				x+=1;
				t++;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++) cout << a[i][j] << ' ';
		cout << endl;
	}
    return 0;
}
2022/10/22 17:56
加载中...