#include
int main()
{
int a[10][10]={0};
int n;
scanf("%d",&n);
int i=0,j=0;
for(i=0;i
}
}
i=0;j=0;
int num=1;
int flag=1;
while(num<=n*n){
if(a[i][j]==-1){
a[i][j]=num;
num++;
}
if(flag==1){
j++;
if(j==n||a[i][j]!=-1){
j--;
flag=2;
}
} else
if(flag==2){
i++;
if(i==n||a[i][j]!=-1){
i--;
flag=3;
}
} else
if(flag==3){
j--;
if(j==-1||a[i][j]!=-1){
j++;
flag=4;
}
}
if(flag==4){
i--;
if(i==-1||a[i][j]!=-1){
i++;
flag=1;
}
}
}
for(i=0;i
}
printf("n");
}
return 0;
}
这题核心就是将四个方向移动设为1,2,3,4;
数组题不算难
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)