- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
(5)电子老鼠闯迷宫.cpp
资源名称:datastruct1 [点击查看]
上传用户:wxj1219
上传日期:2013-01-31
资源大小:6k
文件大小:1k
源码类别:
数据结构
开发平台:
C/C++
- #include<stdio.h>
- #include<conio.h>
- void pop(void);
- void push(void);
- void print(void);
- unsigned char a[8][8]=
- {
- {0,0,1,1,1,1,1,1},
- {1,0,1,0,0,0,0,1},
- {1,0,1,0,1,0,1,1},
- {1,0,0,0,0,0,1,1},
- {1,0,1,0,1,0,1,1},
- {1,0,1,0,1,0,1,1},
- {1,0,0,0,1,0,0,0},
- {1,0,1,0,0,0,1,0}
- };
- char addx[4]={0,1,0,-1};
- char addy[4]={-1,0,1,0};
- char x=0,y=0;
- char p=0;
- char stack[300];
- char u;
- void main()
- {
- clrscr();
- sta:if((y==7)&&(x==7))
- {
- print();
- getchar();
- goto end;
- }
- if((x<0)||(x>7)||(y<0)||(y>7)||(a[y][x]!=0))
- goto end;
- for(u=0;u<4;u++)
- {
- push();
- a[y][x]=2;
- x+=addx[u];
- y+=addy[u];
- goto sta;
- bac: ;
- }
- end:if(p>0)
- {
- pop();
- a[y][x]=0;
- goto bac;
- }
- }
- void push(void)
- {
- stack[p]=x;
- stack[p+1]=y;
- stack[p+2]=u;
- p+=3;
- }
- void pop(void)
- {
- p-=3;
- x=stack[p];
- y=stack[p+1];
- u=stack[p+2];
- }
- void print(void)
- {
- int u1,u2;
- for(u2=0;u2<8;u2++)
- {
- for(u1=0;u1<8;u1++)
- {
- gotoxy(u1+1,u2+1);
- if((a[u2][u1]==0)||(a[u2][u1]==2)) printf("%c",' ');
- if(a[u2][u1]==1) printf("%c",'