码迷,mamicode.com
首页 > 其他好文 > 详细

老鼠走迷宫(附上全过程)

时间:2016-08-25 21:13:08      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <stdlib.h>

void visit(int ,int);

int maze[9][9] = {
 {2,2,2,2,2,2,2,2,2},
 {2,0,0,0,0,0,0,0,2},
 {2,0,2,2,0,2,2,0,2},
 {2,0,2,0,0,2,0,0,2},
 {2,0,2,0,2,0,2,0,2},
 {2,0,0,0,0,0,2,0,2},
 {2,2,0,2,2,0,2,2,2},
 {2,0,0,0,0,0,0,0,2},
 {2,2,2,2,2,2,2,2,2}
};

int startI = 1,startJ = 1;
int endI = 7,endJ = 7;

int main(void)
{
 int i,j;
 printf("显示迷宫 :\n");
 for (i = 0 ; i < 9 ; i++)
 {
  for (j = 0 ; j < 9 ; j++)
  {
   if(maze[i][j] == 2){
    printf("▉");
   }else{
    printf("  ");
   }
  }
  printf("\n");
 }
 visit(startI,startJ);

 system("pause");
 return 0;
}

void visit(int i,int j)
{
 int m,n;
 maze[i][j] = 1;

 if (i == endI && j == endJ)
 {
  printf("\n显示路径: \n");
  for (m = 0 ; m < 9 ; m++)
  {
   for (n = 0 ; n<9 ; n++)
   {
    if(maze[m][n] == 2){
     printf("█");
    }else if(maze[m][n] == 1)
     printf("◇");
    else
     printf("  ");
   }
   printf("\n");
  }
 }

 if(maze[i][j+1] == 0) visit(i, j+1);
 if(maze[i+1][j] == 0) visit(i+1, j);
 if(maze[i][j-1] == 0) visit(i, j-1);
 if(maze[i-1][j] == 0) visit(i-1, j);

 maze[i][j] = 0;

}

老鼠走迷宫(附上全过程)

标签:

原文地址:http://www.cnblogs.com/A922/p/5808271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!