先判断是否构成三角形,任意两边之和大于第三边
a+b>c && a+c>b && b+c>a
然后判断是否是钝角三角形,满足条件是 最大边的平方大于其他两个边的平方和
var max =Math.max(a,b,c);找到最大值
(a*a+b*b<max*max)||(a*a+c*c<max*max)||(c*c+b*b<max*max)
判断是否锐角三角形,满足条件是 最大边的平方小于其他两个边的平方和
(a*a+b*b>max*max)||(a*a+c*c>max*max)||(c*c+b*b>max*max)
当满足锐角三角形的时候判断是否满足直角三角形 满足条件是:任意两边平方之和等于第三边的平方
(a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>判断是否构成三角形</title>
</head>
<body>
第一条边:<input type="text"><br>
第二条边:<input type="text"><br>
第三条边:<input type="text"><br>
<input type="button" value="判断">
</body>
<script>
var inps = document.querySelectorAll("input");
inps[3].onclick = function(){
var a = Number(inps[0].value);
var b = Number(inps[1].value);
var c = Number(inps[2].value);
var max =Math.max(a,b,c);
// var min= Math.min(a,b,c);
if((a+b>c)&&(a+c>b)&&(b+c>a)){
// alert("这是一个三角形");
if((a*a+b*b<max*max)||(a*a+c*c<max*max)||(c*c+b*b<max*max)){
alert("这是一个钝角三角形");
}else if((a*a+b*b>max*max)||(a*a+c*c>max*max)||(c*c+b*b>max*max)){
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a)){
alert("这是一个直角三角形");
}else{
alert("这是一个锐角三角形");
}
}
}else{
alert("这不是一个三角形");
}
}
</script>
</html>