当我用if else和if else if分支结构的时候,执行结果是对的,但是我在码蹄集上显示答案错误,这是为什么呢
你这样写分支,6个整数排列组合起来分支太多了,总有分支照顾不到,四处都有可能有bug
既然告诉你了用打擂台的方式,你就不要写else
int a,b,c,d,e,f;
int max=a;
if(b>max)max=b;
if(c>max)max=c;
这才叫打擂台
话说,已经到6个数了,你应该定义一个数组,而不是6个变量互相做if判断
6个排列组合一下,两两比较,也才需要15个分支
要是60个变量需要取最大值呢,你也两两比较吗
因为你对结果判断的正确与否的标准,和马蹄集上的标准是不一样的。
要注意提供中给出的要求,比如输入数据的格式,取值范围;输出格式要求等等。代码自己要进行边界值测试,不是随便取个值测试通过就可以的。也不是把题目中给出的测试用例测试通过就可以的
分成两组,每组3个,取最大,再俩俩比较
大致代码如下
int a,b,c,d,e,f;
if(a<b)
swap(a,b);
if(a<c)
swap(a,c);
if(d<e)
swap(d,e);
if(d<f)
swap(d,f)
int max=a>d?a:d;