JS输入3个数,判断是否构成三角形,如构成,是直角还是锐角钝角三角形呢

先判断是否构成三角形,任意两边之和大于第三边

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>


猜你喜欢

转载自blog.csdn.net/lanseguhui/article/details/80849367