TIJIE
2024-03-02 12:06:43
发布于:广东
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[1005][1005];
int main()
{
int n;
cin>>n;
int x=1,y=(n/2)+1; //1的位置
for(int i=1;i<=n*n;i++)
{
a[x][y]=i; //填写1
if(x==1 && y!=n) x=n,y++; //规则1
else if(y==n && x!=1) y=1,x--; //规则2
else if(x==1 && y==n) x++; //规则3
else if(x!=1 && y!=n && a[x-1][y+1]==0) x--,y++; //规则4
else x++; //规则4中如果填了数
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++) cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个