| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:关于走出迷宫计算步数的问题
只看楼主 加入收藏
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
结帖率:82.35%
收藏
 问题点数:0 回复次数:1 
关于走出迷宫计算步数的问题
程序代码:
#include<stdio.h>
#define N 15
int walk(char a[][N],int x,int y)
{ int n1,n2,n3,n4;
  if(x>N-1&&x<0||y<0&&y>N-1) return 0;//不在迷宫内
  if(a[x][y]!=' ') return 0;//撞墙
  if(a[x][y]=='E') return 1;//找到出口
  else{
  a[x][y]='o';//足记
  n1=walk(a,x-1,y);
  n2=walk(a,x,y+1);
  n3=walk(a,x+1,y);
  n4=walk(a,x,y-1);
  return n1+n2+n3+n4;//总步数
  }
}
int main()
{  int total_step ,i=0,j=0;
  char a[][N]={{"***************"},
               {"****S**********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"**** **********"},
               {"****       E***"},
               {"***************"},
               {"***************"},
               {"***************"}};
    for(;i<N;++i)
     for(;j<N;++j)
       if(a[i][j]=='S') break;//找到迷宫入口
    a[i][j]=' ';
    total_step=walk(a,i,j);
    for(i=0;i<N;++i)
     {for(j=0;j<N;++j)
       printf("%c",a[i][j]);
     printf("\n");
     }
    if(total_step==0) printf("error\n");
    else printf("%d",total_step);
    return 0;
    }

参考了本论坛大神写的,自己改了下但实现不了,不知问题出现在哪,请指教,,,在线等

[此贴子已经被作者于2017-4-15 14:10编辑过]

2017-04-15 14:08
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
收藏
得分:0 
已发现问题,谢谢大家,谢谢党和国家。
2017-04-15 14:25
快速回复:关于走出迷宫计算步数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017400 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved