三个数排序abc
其实就是两两对比,然后相互交换值,按照结果交换值。比如规定输出的结果是a>b>c
无论怎样对比,都给我输出这样的结果。
不对不对,是这样的输入三个数,比如5,6,7,它们是存放在变量中的,现在输出的结果是a>b>c。我要想办法把最大的数放到变量a里面,中间数放到b里面,最小数放到c里面。
先随便拿出两个数对比,比如5和6对比,对比后,6放到了a里面,之后再对比6和7,7放到了a里面。这个过程是交换数值的过程。
if(a>b){int t = a;a=b;b=t;}这是说,出来的结果中a<b,我要的是a是最大的。修改下,
if(a<b){int t = a;a=b;b=t; } 这是说,如果a<b了,把两个数的值交换下,输出的结果就是a>b.
我再比较一下a和c
if(a<c){int t = a; a=c;c=t;} 这是说,输出来的结果,a是最大的。写完这两串代码后,不管三个数的对比顺序是怎样的,输出来的结果都是a是最大的。我可以验证一下。
成功
三个数已经找出最大的数了,在对比剩下的两个变量,找出中间数就行了。
if(b<c) {
int t = b;
b&