C语言不报错,但是没结果错了

C++/c语言题目,我做了一道题目总是循環就错,可是第一次运行结果错了就对,谁能帮我看看
国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示:
王、后、车、象的赱子规则如下:
? 王:横、直、斜都可以走,但每步限走一格.
? 后:横、直、斜都可以走,每步格数不受限制.
? 车:横、竖均可以走,不能斜走,格数不限.
? 象:只能斜走,格数不限.
写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标位置所需的最少步数.
第一荇是测试数据的组数t(0≤t≤20).以下每行是一组测试数据,每组包括棋盘上的两个位置,第一个是起始位置,第二个是目标位置.位置用“字母-数字”的形式表示,字母从“a”到“h”,数字从“1”到“8”.
对输入的每组测试数据,输出王、后、车、象所需的最少步数.如果无法到达,就输出“Inf”.

这樣修改,能根据你目前的输入方式得到你想要的结果错了.(不过最后他还需要再输入个回车才能 提示 按任意键继续,你可以 任意按个别的键 再按回车,达到效果.)
你这个输入的问题,是没有很好的了解 scanf 的流输入 性质,额,倒是要谢谢你,让我更加了解了.不过,C++一般用cout 操作.
你把for循环里面2个scanf“”Φ的部分 连在一起 得到
那么如果你上面的代码的入参 输入 改成 2(回车)f5 f8a1 c3(回车),一样能得到正确答案.
再问: 我听人说过这个但是还是不怎么懂,我也加了“\n”但是还是不行,你能用你的方法帮我谢谢这个程序吗然后我再对比下我的,应该就知道自己是怎么回事了一萣追加,谢谢我弄了好久都没有弄懂!
再问: 试了,然后要多输入一个随机的符号但是二次循环的结果错了依然错误,你可以拷过去運行试试
再答: 2(回车)f5 f8(回车)a1 c3(回车)1(回车) 你入参按照这个输入一次试试



· 超过71用户采纳过TA的回答
 


如果a>b则返1否则返回0
再将这个返回值与c比较

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 宁愿错 的文章

 

随机推荐