文章
5
粉丝
0
获赞
0
访问
78
#include<bits/stdc++.h>
using namespace std;
int main(){
//构造二维数组
int n;
scanf("%d",&n);
if(n<1||n>20) return 0;
if(n==1){
printf("1");
return 0;
}
//沿着外沿赋值,沿左下右上的顺序
int s[20][20]={0};
int a=0,b=n-1,c=n-1,d=0,m=1;//初始化,a b c d对应左 下 右 上
while(d+1<n){
for(int i=a;i<=b;i++){//a
s[i][a]=m;
m++;
}
a++;
for(int i=a;i<=c;i++){//b
s[b][i]=m;
m++;
}
b--;
for(int i=b;i>=d;i--){//c
s[i][c]=m;
m++;
}
c--;
for(int i=c;i&...
登录后发布评论
暂无评论,来抢沙发