let num=parseInt(prompt("请输入一个数"))
let arr=[];
for(let i=0;i<num;i++){
arr[i]=[];
for(let j=0;j<num;j++){
arr[i][j]=0;
}
}
let ty =1;
let x;
let y
if(num%2===0){
x=num/2-1;
y=num/2-1;
}else{
x=parseInt(num/2)
y=parseInt(num/2)
}
for(let k=1;k<=num*num;k++){
switch(ty){
case 2:
arr[x][y]=k;
if(arr[x+1][y]===0){
x++;
ty= 3;
}else{
y++;
}
break;
case 3:
arr[x][y]=k;
if(arr[x][y-1]===0){
ty=4;
y--;
}else{
x++;
}
break;
case 1:
arr[x][y]=k;
if(arr[x][y+1]===0){
y++;
ty=2;
}else{
x--;
}
break;
case 4:
arr[x][y]=k;
if(arr[x-1][y]===0){
x--;
ty= 1;
}else{
y--;
}
break;
}
}
console.log(arr)
螺旋输出思路1
最新推荐文章于 2021-04-12 00:11:57 发布