如何在javascript中手动输入三个数,并判断能否构成三角形


尝试了多次都是能构成,输入2,2,4也是能构成,把ll改成&&然后又是所有数都不能构成三角形,为什么,哪里出了问题?图片

if(a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0)

首先,我们得知道构成一个三角形需要的是:短的两边相加大于最长的一边。
现在把3个数放进数组里,然后sort一下不就能知道短的两边和最长的一边了吗。
假设sort后的数组里有三个数:a、b、c
a=短的一边,b=短的另一边,c=最长的一边
那么if(a+b>c){能够成三角形}else{不能构成三角形}

function test() {
if (arguments.length != 3) {
alert("输入参数有误")
}
var list = arguments.sort()
if (list[0] + list[1] > list[2]) {
alert("正确")
}
else {
alert("错误")
}
}

    根据楼上翻译

function() {
var list = arguments.sort();
if (list.length != 3 || list[0] <= 0) {
alert("参数输入有误")
}

    if (list[0] + list[1] > list[2]) {
        alert("正确")
    }
    else {
        alert("错误")
    }
}

let a3 = parseInt(prompt("请输入第一个值"));
let b3 = parseInt(prompt("请输入第二个值"));
let c3 = parseInt(prompt("请输入第三个值"));
//条件为两边之和大于第三边。
if (a3+b3>c3 && a3+c3>b3 && b3+c3>a3 && a3>0 && b3>0 && c3>0){
document.write('能够组成三角形');
} else {
document.write('不能组成三角形');
}