题解
2025-04-14 15:03:04
发布于:江苏
15阅读
0回复
0点赞
#include<iostream>
using namespace std;
int main(){
int n,a[110][110],sum=1;
cin>>n;
for(int i=0;i<n/2;i++){
int left=i,right=n-i-1,x=i,y=right;
if(i%2==0){
for(int j=left;j<=right;j++){
a[x][j]=sum++;
}
for(int j=x+1;j<=y;j++){
a[j][right]=sum++;
}
for(int j=right-1;j>=left;j--){
a[y][j]=sum++;
}
for(int j=y-1;j>x;j--){
a[j][left]=sum++;
}
}else{
for(int j=x;j<=y;j++){
a[j][left]=sum++;
}
for(int j=left+1;j<=right;j++){
a[y][j]=sum++;
}
for(int j=y-1;j>=x;j--){
a[j][right]=sum++;
}
for(int j=right-1;j>left;j--){
a[x][j]=sum++;
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<' ';
}
cout<<'\n';
}
return 0;
}
这里空空如也
有帮助,赞一个