日期:2014-05-16  浏览次数:20355 次

如何判断3个数值的大小
有3个数值,如何判断3个变量内数值(变量a,b,c)的大小,并且把两个较小的变量相乘,再除以最大的那个变量。谢谢!!急用,本人对javascript不太懂,谢谢了。

------解决方案--------------------
<script type= "text/javascript ">
function exec(a, b, c) {
var d = a > b ? a : b;
return c > d ? a * b / c : c > b ? c * b / a : a * c / b;
}
alert(exec(1, 2, 3));
</script>
------解决方案--------------------
<script language=javascript>
var a=4;
var b=3;
var c=7;
var tempArray=new Array(a,b,c)
var temp=0;
if(tempArray[0]> tempArray[1])
{
temp=tempArray[0]
tempArray[0]=tempArray[1]
tempArray[1]=temp;
}
if(tempArray[1]> tempArray[2])
{
temp=tempArray[1]
tempArray[1]=tempArray[2]
tempArray[2]=temp;
}
alert(tempArray[0]*tempArray[1]/tempArray[2])
</script>
------解决方案--------------------
var arr =[2,4,3];
arr.sort();
arr[0]*arr[1]/arr[2];

这是错的。试试arr=[12, 4, 3]就知道了, sort方法默认的是字符排序
------解决方案--------------------
<script language=javascript>
var a=4;
var b=3;
var c=7;
var tempArray=new Array(a,b,c)
var temp=0;
for(var i=0;i <tempArray.length;i++){
for(var j=i+1;j <tempArray.length;j++){
if(tempArray[i]> tempArray[j]){
temp=tempArray[i]
tempArray[i]=tempArray[j]
tempArray[j]=temp;
}
}

}
for(var i=0;i <tempArray.length;i++){
alert(tempArray[i]);
}
alert(tempArray[0]*tempArray[1]/tempArray[2])
</script>

------解决方案--------------------
简单的判断的说。。。
var d = a > b ? a : b;

d 是a和b里最大的值。。

然后通过
c判断。。如果比d大。。
那么c就是最大的。。

如果小于 那两个最大的值就就继续判断。。如果比b大那么a就是最大的。。。
如果比b小那么b就是最大的。。。
忽忽。。感觉斑竹大人的方法比较好的说。。
就判断两次。。
因为不需要排序。所以不用判断其他两个小的。。
------解决方案--------------------
T_T
换个麻烦滴。。
<script type= "text/javascript ">
function exec(a, b, c) {
return Math.min(a * b / c, a * c / b, b * c / a);
}
alert(exec(3, 4, 5));
</script>