标题:作业不会做啊,求各路选手指教
只看楼主
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
结帖率:66.67%
已结贴  问题点数:10 回复次数:19 
作业不会做啊,求各路选手指教
公元13世纪上半叶,蒙古军队一路西征杀向欧洲。在进军途中,蒙古骑兵以旗为单位沿一条道路相继开进。为了给后面的队伍指路,每当遇到一个道路分叉处时,就在路旁堆石头堆作路标,堆一堆石头表示直行,堆两堆石头表示右转,堆三堆石头表示左转。试用C语言编写一个程序,计算出通过的路口数目。假设每个相邻路口间路段的长度基本相等且开始的方向向西(以此判断第一个路口,即出发时向哪个方向走),用输出eswn四个字母或其组合来确定最终的地点相对于出发地(即第一个路口)的方位。
输入:只有一行,分别用1、2和3表示路口遇到的石碓的数量,最多有20个路口。
输出:只有一行,由一个数字和一个字母或两个字母组合分别构成路口的数目和最终地点与出发地的方位。如果需要输出两个字母,则输出字母按照字典序输出。

输入样例:
31
输出样例:
2,s
输入样例:
131
输出样例:
3,sw



搜索更多相关主题的帖子: C语言 出发地 蒙古骑兵 石头 
2013-05-26 22:25
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
你要先想啊,一味索取可不行

C++菜鸟
2013-05-26 22:31
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
路口就是输入数字的长度撒,最后方向就是对应字符串去掉(eswn)组合之后剩下的撒

C++菜鸟
2013-05-26 22:42
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
例如12321那么路口数就是5,依次的方向是wswss去掉0个eswn组合就是sw方向撒

C++菜鸟
2013-05-26 22:45
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
得分:0 
回复 2楼 lzj12530
我想了,没想到怎么做,想了一下午呢,奈何水平不够
2013-05-26 22:49
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
得分:0 
回复 3楼 lzj12530
什么意思啊,能再说得明白点吗?
2013-05-26 22:51
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
~.~。这个问题就在于如何判断方向,可以这么判断:如果前一个方向是w,遇到1继续前行方向还是w,遇到2右转就是s,遇到3左转就是n.如果前一个方向是s,那么1就是s,2就是e,3就是w。依次类推前一个方向是E和N的情况。
到最后判断完了,最后的方向数组出现EWSN组合(不需要4个在一起和顺序)那么就代表转了一个圈,就去掉。然后就看最后剩的方向就是

[ 本帖最后由 lzj12530 于 2013-5-26 23:07 编辑 ]

C++菜鸟
2013-05-26 23:05
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
就像我刚才举得例子:
输入12321            记为int a[5]={"1","2","3","2","1"}
那么起始方向是W西方:记为方向char c[0]='w'
第一个判断
C[0]='w'遇到a[0]=1那么直走,给c[1]赋值c[1]='w'.
第二个判断
c[1]='w' 遇到a[1]=2那么右转,给c[2]='s'
第三个判断
c[2]='s' 遇到a[2]=3那么左转,给c[3]='w'
第四个判断
c[3]='w' 遇到a[3]=2那么右转,给c[4]='s'
第五个判断
c[4]='s' 遇到a[4]=1那么直走,给c[5]='s'
这样整个方向数组就是 c={"wwswss"}包括初始方向6个方向。没有圈(ewsn)那么就是sw方向撒。

C++菜鸟
2013-05-26 23:18
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
我这是个笨办法哈,利用分支结构来判断。

C++菜鸟
2013-05-26 23:20
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
得分:0 
回复 9楼 lzj12530
貌似有点明白了,不过还是很抽象,革命尚未成功,同志仍需努力啊
2013-05-26 23:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-408843-1-1.html




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

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