神奇的幻方·小小模拟
2026-06-14 21:53:09
发布于:浙江
5阅读
0回复
0点赞
小模拟,很水,但要注意细节,不要打错哦。以下代码
#include<bits/stdc++.h>
using namespace std;
int a[260][260],n;
int main(){
cin>>n;
int x=1,y=(n-1)/2+1;
a[x][y]=1;
for(int i=2;i<=n*n;i++){
if(x==1&&y!=n){
a[n][y+1]=i;
x=n,y++;
}else if(x!=1&&y==n){
a[x-1][1]=i;
x--,y=1;
}else if(x==1&&y==n){
a[x+1][y]=i;
x++;
}else if(x!=1&&y!=n){
if(a[x-1][y+1]==0){
a[x-1][y+1]=i;
x--,y++;
}else{
a[x+1][y]=i;
x++;
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j]<<" ";
}
cout<<"\n";
}
return 0;
}
加油~
全部评论 1
看看有什么不懂的地方,欢迎提问
1周前 来自 浙江
1








有帮助,赞一个