解法1、用大量的if else进行比较
解法2、将三个数放入数组进行排序,取第二个
解法3、用两个变量,一个存储最大值一个存第二大
int f(itn a, int b, int c){
int f, m;
if(a>b){
f = a; m = b;
}
else{
f = b; m = a;
}
if(f>c){
if(m
}
else{
m = f; f = c;
}
return m;
}
针对该特定问题,方法2中的排序做了无用功,
方法1和3差不多,但方法3更可取,因为具有普遍性,所有按某种顺序取第二个的问题,都可以此思路解决,比如在n个数中取第二大者,可以将n个数放入数组,f和m保存当前最大和第二大,遍历数组即可。
阅读(926) | 评论(0) | 转发(0) |