基于基于C语言实现的迷宫算法示例语言实现的迷宫算法示例
主要介绍了基于C语言实现的迷宫算法,结合具体实例形式分析了C语言解决迷宫问题算法的实现技巧与相关注意
事项,需要的朋友可以参考下
本文实例讲述了基于C语言实现的迷宫算法。分享给大家供大家参考,具体如下:
利用c语言实现迷宫算法,环境是vc++6.0.
#include<stdio.h>
#include<time.h>
#include<cstdlib>
int visit(int,int);
void setmaze();
int maze[11][11]=
{
{0,0,2,2,2,2,2,2,2,2},
{2,0,2,2,0,2,0,2,0,2},
{2,0,2,0,0,0,0,0,0,2},
{2,0,2,2,2,0,2,0,0,2},
{2,0,0,0,0,0,2,2,0,2},
{2,2,0,2,2,0,2,2,0,2},
{2,2,2,0,0,0,0,0,0,2},
{2,0,2,0,2,0,2,2,0,2},
{2,0,0,0,0,2,0,2,0,0},
{2,2,2,2,2,2,2,2,2,2}
};
int startI,startJ; //定义入口变量
int endI,endJ; //定义出口变量
int success=0; //定义返回变量
int p;
void setStart() // 设置入口
{
printf("请设置迷宫入口(i,j):");
scanf("%d,%d",&startI,&startJ);
}
void setEnd() // 设置出口
{
printf("请设置迷宫出口(i,j):");
scanf("%d,%d",&endI,&endJ);
}
void setmaze() //设置迷宫图
{
int i,j,a,p;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
p=rand()%2;
if(p==0) a=0;
else a=2;
maze[i][j]=a;
}
}
void DisplayMaze() //打印迷宫
{
int i,j;
for(i=0;i<10;i++)
{
printf(" ");
for(j=0;j<10;j++)
if(maze[i][j]==2) printf("##"); //打印墙壁
else printf(" "); //打印路径
printf("/n");
}
}
void Maze_PS() //输出迷宫路径
{
int i,j;
if(visit(startI,startJ)==0) //寻找路径
printf("/n没有找到出口!/n");
else
{
maze[startI][startJ]=8;//设置入口标志
maze[endI][endJ]=9;//设置出口标志
printf("/n显示路径:/n");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
评论0
最新资源