C语言 比较三个数的大小为什么不能写成如果a大于等于b,并且a大于等于c

C语言 比较三个数的大小为什么不能写成如果a大于等于b,并且a大于等于c输出a;如果b大于等于a,并且b大于等于c输出b;如果c大于等于a,并且c大于等于b输出c.(思路)

可以写成:
如果a>=b并且a>=c则输出a
否则b>=a并且b>=c则输出b
否则输出c
但以上只能得到三个数中最大值输出,比较三个数的大小的含义是,要顺序从大到小输出3个数,那么上述算法无法实现这个目的追问

我的意思就是输出最大的数,但是书上面写不可以这样子做。

追答

书上说这种解题方法是不允许的还是说是错误的?
实际上这种方法并没有错误。

追问

书上说会出现问题

书上给的方法是,如果a大于等于b并且a大于等于c则输出a;如果b大于a并且b大于等于c则输出b;如果c大于a并且c大于b则输出c。

追答

这种情况下如果有相等的就都会输出,而不会只输出一个

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-01
你所说的比较具体是什么意思呢?要达到什么效果?追问

输入ABC3个数,将最大的输出。

追答

书上是怎么做的?

追问

书上给的方法是,如果a大于等于b并且a大于等于c则输出a;如果b大于a并且b大于等于c则输出b;如果c大于a并且c大于b则输出c。

追答

按你的思路的话,如果a=b时,就会同时输出最大数为a,b
而书上的思路则正好解决,当a=b时就只输出最大数为a,不会再输出b
所以说你的思路并没有大问题,只是书上的更完美一点

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网