写这个主要是因为看了一圈好像没看见有处理三个数字相等的情况,补充一下:
var a = 12, b = 12, c = 8;
var max, med, min;
if(a > b){
if(c > a){
max = c;
med = a;
min = b;
}
else if(a > c){ //a > c
if(c > b){
max = a;
med = c;
min = b;
}
else if(b > c){
max = a;
med = b;
min = c
}
else{//b==c
max = a;
med = c; // ==min
min = b;
}
}
else{//a==c
max = a;
med = c; // ==max
min = b;
}
}
else if(b > a){
if(c > b){
max = c;
med = b;
min = a;
}
else if(b > c){//b > c
if(a > c){
max = b;
med = a;
min = c;
}
else if(c > a){
max = b;
med = c;
min = a;
}
else{//a == c
max = b;
med = a;
min = c;
}
}
else{//b == c
max = b;
med = c;
min = a;
}
}
else{//b==a
if(c > b){
max = c;
med = a;
min = b;
}
else if(b > c){
max = a;
med = b;
min = c;
}
else{
max = a;
med = b;
min = c;
}
}
console.log('max=' + max + ';med=' + med + ';min=' + min)
同时再补充个思路(没有处理相等情况) :
var a = prompt('number1?'), b = prompt('number2?'), c = prompt('number3?');
var tempMax = a > b? a:b;
var max = tempMax > c? tempMax:c;
var tempMin = a < b? a:b;
var min = tempMin < c? tempMin:c;
var medNum;
if(a > min && a < max){
medNum = a;
}
else if(b > min && b < max){
medNum = b;
}
else if(c > min && c < max) {
medNum = c;
}
else{
medNum = 'noooooo!';
}
alert(max);
alert(medNum);
alert(min);