tj
2025-01-13 21:21:12
发布于:广东
4阅读
0回复
0点赞
用I,J定位,再做判断就行。
#include<iostream>
using namespace std;
int n,a[45][45],I,J;
int main(){
cin>>n;
I=0;
J=n/2;
for(int i=1;i<=n*n;i++){
a[I][J]=i;
if(I-1<0&&J+1<n){
I=n-1;
J++;
}
else if(I-1>=0&&J+1>=n){
I--;
J=0;
}
else if(I-1<0&&J+1==n||a[I-1][J+1]){
I++;
}
else{
I--;
J++;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个