文章
26
粉丝
0
获赞
13
访问
1.9k
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,index=1,a[30][30]={0};
cin>>n;
int left=0,right=n-1,top=0,bottom=n-1;
while(top<=bottom&&left<=right){
//从上到下
for(int i=top;i<=bottom;i++){
a[i][left]=index;
index++;
}
left++;
//从左到右
for(int j=left;j<=right;j++){
a[bottom][j]=index;
index++;
}
bottom--;
//从下到上
for(int i=bottom;i>=top;i--){
a[i][right]=index;
index++;
}
right--;
//从右到左
for(int j=right;j>=left;j--){
a[top][j]=index;
index++;
}
top++;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
printf("%-4d",a[i][j]);
}
cout<<endl;
}
return 0;
}
注意输出的格式:
如果是这样%-4d的话,说明空格在数字的后面;
如果直接是%4d的话空格在数字的前面;
登录后发布评论
暂无评论,来抢沙发