#include
void main()
{
int XY[102][102];
int step[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};//走动的方向
int x,y;
for(y=0;y<102;y++)
for(x=0;x<102;x++)
{
XY[y][x] = 1;//可以走的格
if(x==0||y==0||x==102-1||y==102-1) XY[y][x] = 0;//边格不许走
}
x=1;
y=1;
int n = 0;
int total = 0;
while(1)
{
printf("==>%d,%d ",x,y);
XY[y][x] = 0; //走过的抹掉
if(XY[y+step[n][1]][x+step[n][0]]==0) n = (n+1)%4;//走不通时换方向
if(XY[y+step[n][1]][x+step[n][0]]==0) break;//无路可走,没路了跳出去
y += step[n][1];
x += step[n][0];
total++;
}
printf("一共走了%d步,最后在(%d,%d)",total,x,y);
}
//fortran 版的你自己改造一下吧,我不记得fortran了也,
结果是999步 停在50,51上