题目

解决代码及点评


/************************************************************************/
/*
82. 试编写一个程序寻找一条通过迷宫的路径。
一个迷宫可以看成是一个矩阵(数组),它有一个入口单元和一个出口单元,图中阴影处表示障碍物,白格表示可以通行的道路。
只能从入口进去,从出口出去,中间只能通过白格子(即只能从一个白格单元走到一个相邻的白格单元,相邻指上、下、左、右四个单元)
,遇见死路时,退回去重找其它路。用户可设入口处(1,1)为2,出口位置(5,6)为-1,白格处送入0,障碍物位置送入1。5表示走过的
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h> bool GO82(int arr[][6],int i,int j,int kk)
{ bool isfound=false;
if (i==4&&j==5)
{
isfound=true;
printf("\n大爷出来了\n");
for (int p=0;p<6;p++)
{
for (int q=0;q<6;q++)
{
if (arr[p][q]==5)
{
printf("%d%d",p,q);
}
else
{
printf(" ");
}
}
printf("\n");
}
}
else
{
for (int m=0;m<=3;m++)
{
#pragma region 条件匹配
if (m==0)
{ if (kk==2)
continue;
if (arr[i][j+1]==0&&j+1<6)
{ j=j+1;
arr[i][j]=5;
}
else
continue;
}
else if (m==1)
{ if (kk==3)
continue;
if (arr[i+1][j]==0&&i+1<6)
{ i=i+1;
arr[i][j]=5;
}
else
continue;
}
else if (m==2)
{ if (kk==0)
continue; if (arr[i][j-1]==0&&j-1>=0)
{j=j-1;
arr[i][j]=5;
}
else
continue;
}
else if (m==3)
{
if (kk==1)
continue;
if (arr[i-1][j]==0&&i-1>=0)
{i=i-1;
arr[i][j]=5;
}
else
continue;
}
#pragma endregion 条件匹配 isfound=GO82(arr,i,j,m);
if (!isfound)
{
#pragma region 条件匹配
if (m==0)
{ arr[i][j]=0;
j=j-1;
} else if (m==1)
{
arr[i][j]=0;
i=i-1; }
else if (m==2)
{
arr[i][j]=0;
j=j+1; }
else if (m==3)
{
arr[i][j]=0;
i=i+1; }
#pragma endregion 条件匹配
}
}
} return isfound;
}
void main()
{ int arr[6][6]={0};
arr[0][0]=2;
//arr[4][5]=-1;
arr[0][1]=1;
arr[0][5]=1;
arr[1][3]=1;
arr[1][5]=1;
arr[2][0]=1;
arr[2][2]=1;
arr[2][5]=1;
arr[3][3]=1;
arr[3][4]=1;
arr[3][5]=1;
arr[4][1]=1;
arr[4][2]=1;
arr[5][4]=1;
arr[5][5]=1;
bool temp= GO82(arr,0,0,-10); if (temp==false)
{
printf("死路\n");
} system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1082迷宫的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  2. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  3. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

  4. 基于visual Studio2013解决C语言竞赛题之0409 100以内素数

       题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...

  5. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  6. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  7. 基于visual Studio2013解决C语言竞赛题之0406数列求和

      题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...

  8. 基于visual Studio2013解决C语言竞赛题之0405阶乘求和

      题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...

  9. 基于visual Studio2013解决C语言竞赛题之0404循环求和

      题目 解决代码及点评 这道题考验for循环和一个简单的算法 因为每次累加的值有规律,后面一次累加是前面一次累加的两倍 所以可以用简单的循环,计算累加项和累加结果 /************ ...

随机推荐

  1. 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date

    解决方法是 设置xml里面字段的类型为:java.util.Date.加红部分. 1. beanl里面private Date ulLoginDate; 2.hibernate的xml里面是 < ...

  2. ceph增加osd流程

    假如需要新增一个主机名:osd4 ip:192.168.0.110的OSD1.在osd4创建挂载目录及放置配置文件的目录 ssh 192.168.0.110 (这里是从mon主机ssh到osd4主机) ...

  3. ListActivity的注意点

    有的时候我们需要集成ListActivity,注意点1,这个时候我们的xml中的<ListView>标签中的id属性不能够随便自己命名,而是要固定为android:id="@id ...

  4. MyEclipse 引用其他项目及其jar包

    倘若在工作区有两个项目A和B,B项目引用A项目及其jar包(防止调用时A项目的方法出现NoClassFound),步骤如下: 在A项目上点右键看属性,点击Build Path--->Concon ...

  5. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

  6. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  7. 【 D3.js 入门系列 — 1 】 第一个程序 HelloWorld

    记得以前刚上大一学 C 语言的时候,写的第一个程序就是在控制台上输出 HelloWorld .当时很纳闷,为什么要输出这个.老师解释说所有学编程入门的第一个程序都是在屏幕上输出 HelloWorld, ...

  8. nice Validator参考

    快速上手 例1. DOM传参 1. 要验证一个表单,只需要给字段绑定规则“data-rule”就可以了2. 字段可以有多条规则,规则之间用分号(;)分隔3. js初始化不是必要的,只要是字段并且带有“ ...

  9. 快的打车 技术部 在 杭州 招聘 #年前面试 年后入职#架构师 - 内推网(neitui.me)

    快的打车 技术部 在 杭州 招聘 #年前面试 年后入职#架构师 - 内推网(neitui.me) 陈丹 (cd**@kuaidadi.com) 01-18 发布了内推 #年前面试 年后入职#架构师 • ...

  10. JAVA操作Hbase基础例子

    package com.cma.hbase.test; import java.io.BufferedInputStream; import java.io.BufferedReader; impor ...