老鼠走迷宫是一个典型的递归的问题,写几个这样的题才可以充分理解递归的过程。
写递归的过程有几点需要注意:
(1)递归结束的条件
(2)递归过程的脉络,即逻辑要清晰。
/
//
// 在迷宫中显示老鼠能走出的迷宫的一条路径
//
//
/
#include <stdlib.h>
#include <stdio.h>
#define Wide 8
#define Height 8
// 迷宫设计
int maze[8][8] = {
{ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 } ,
{ 1 , 0 , 0 , 0 , 1 , 1 , 1 , 1 } ,
{ 1 , 0 , 0 , 0 , 0 , 1 , 1 , 1 } ,
{ 1 , 1 , 0 , 0 , 0 , 0 , 0 , 1 } ,
{ 1 , 0 , 0 , 1 , 0 , 1 , 0 , 1 } ,
{ 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 } ,
{ 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 } ,
{ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 } } ;
int startX = 1 ; // 开始处
int startY = 1 ;
int endX = 6 ; // 结束处
int endY = 6 ;
bool success = false ;
// 显示迷宫
void sho