该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define North 4
#define East 1
#define South 2
#define West 3
int ChangeDirection(int direction);
int main()
{
int n;
int i=0,j=0;
int nexti=0,nextj=0;
int direction=East;
int num[20][20]={0};
int step=0;
printf("Input your n:\n");
scanf("%d",&n);
num[0][0]=1;
step=1;
while(step
{
switch (direction)
{
case South :nexti=i+1;
nextj=j;
break;
case East :nextj=j+1;
nexti=i;
break;
case North :nexti=i-1;
nextj=j;
break;
case West :nextj=j-1;
nexti=i;
break;
}
if(nextj<0||nextj>=n||nexti>=n||nexti<0||num[nexti][nextj]!=0)
{
direction=ChangeDirection(direction);
nexti=i;