尝试了多次都是能构成,输入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('不能组成三角形');
}