2015-07-13 168 views
0

我正在学习三角形的所有三边的知识,它们是由用户输入的。我需要知道如果任何角度将等于90度 我已经查了这个数学,但很遗憾不知道如何尝试使用它在三角形中找到直角

我正在找出用户具有什么样的三角形每边的长度

If First <> Second AndAlso Second <> Third AndAlso First <> Third Then 
    MsgBox("Triangle is scalene") 
ElseIf First = Second AndAlso Second = Third AndAlso First = Third Then 
    MsgBox("Triangle is equilateral") 
ElseIf First = Second Or Second = Third Or First = Third Then 
    MsgBox("Triangle is isosceles") 
ElseIf rightangle Then 
    MsgBox("Triangle is right angle") 
Else 
    MsgBox("UFT - Unidentified flying triangle") 
End If 

我不知道从哪里开始,没有形成缺乏尝试

+2

你一定需要[trig](https://www.mathsisfun.com/algebra/trig-solving-sss-triangles.html)。 –

+0

如果你输入的是角度,那你为什么不比较并检查,如果任何值等于90? – Tushar

+0

@TusharGupta输入变量表示边的长度,而不是角度。 – phoog

回答

3

直角三角形,两个短边的平方和等于平方长边。例如,3^2 + 4^2 = 5^2,所以边长为3,4,5的三角形是直角三角形。

0

,你需要做的基本轮廓:

  1. 从用户获取三个边长

  2. 找到三个角度

    • 使用余弦定律找到第一角度
    • 使用正弦律找到第二角度
    • 查找第三角度通过使用180 - (+第一第二)
  3. 检查多少这些角度是90度,并应用所需的任何逻辑。

+0

我明白需要什么...只是不怎么做 – Cacoon

2

这是你需要检查使用双方。您可能需要对值进行四舍五入以避免浮点比较问题。

If First = Math.Sqrt(Second * Second + Third * Third) OrElse Second = Math.Sqrt(First * First + Third * Third) OrElse Third = Math.Sqrt(First * First + Second * Second) Then 
    MsgBox("Triangle is right angle") 
End If 
+0

似乎是唯一有用的给定答案,谢谢 – Cacoon

+1

但我更喜欢第一*第一=第二*第二+第三*第三 – ggrr

+0

由你决定...精度事项。 –