各位大佬麻烦看看,蒟蒻不理解……
下面是代码
#include<iostream>
using namespace std;
int main()
{
int n[50][50],m,a=0,b=2;
cin>>m;
int x=1,y=m/2+1;
n[x][y]=1;
for(int i=2;i<=m*m;i++){
if(x==1&&y!=1){
n[m][y+1]=b;
x=m;
y=y+1;
}
else if(y==m&&x!=1){
n[x+1][1]=b;
x=x+1;
y=1;
}
else if(x==1&&y==m){
n[x+1][y]=b;
x=x+1;
}
else if(x!=1&&y!=m){
if(n[x+1][y+1]==0){
n[x+1][y+1]=b;
x=x+1;
y=y+1;
}
else{
n[x][y+1]=b;
y=y+1;
}
}
b++;
}
for(int j=1;j<=m;j++){
for(int k=1;k<=m;k++){
cout<<n[k][x]<<" ";
}
cout<<endl;
}
return 0;
}
感谢各位大佬的帮助

