[C_MM39-易] 判斷是何種三角形
問題描述:當三個邊長能夠構成三角形時,再判斷該三角形為鈍角、銳角或是直角三角形,其判別方法如下:
1. 直角三角形:其中有兩個邊的平方和等於第三邊的平方。
2. 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方。
3. 銳角三角形:任兩邊的平方和大於第三邊的平方。
輸入說明:輸入三個整數。
輸出說明:顯示直角三角形(Right Triangle)、鈍角三角形(Obtuse Triangle)、銳角三角形(Acute Triangle)或無法構成三角形(Not Triangle)。範例:
1. 直角三角形:其中有兩個邊的平方和等於第三邊的平方。
2. 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方。
3. 銳角三角形:任兩邊的平方和大於第三邊的平方。
輸入說明:輸入三個整數。
輸出說明:顯示直角三角形(Right Triangle)、鈍角三角形(Obtuse Triangle)、銳角三角形(Acute Triangle)或無法構成三角形(Not Triangle)。範例:
Sample Input: | Sample Output: |
5 12 13 7 11 15 | Right Triangle Obtuse Triangle |
- #include <iostream>
- using namespace std;
- //[C_MM38-易] 判斷3整數是否能構成三角形之三邊長
- int main() {
- int a, b, c;
- while(cin >> a >> b >> c)
- {
- if(a > b)
- {
- if(b > c) //a > b > c
- {
- if(b+c > a)
- {
- if(b*b+c*c==a*a)
- {
- cout << "Right Triangle" << endl;
- }
- else if(b*b+c*c<a*a)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(b*b+c*c>a*a)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- else
- {
- if(a > c) //a > c > b
- {
- if(b+c > a)
- {
- if(b*b+c*c==a*a)
- {
- cout << "Right Triangle" << endl;
- }
- else if(b*b+c*c<a*a)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(b*b+c*c>a*a)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- else //c > a > b
- {
- if(a+b > c)
- {
- if(b*b+a*a==c*c)
- {
- cout << "Right Triangle" << endl;
- }
- else if(b*b+a*a<c*c)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(b*b+a*a>c*c)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- }
- }
- else //b > a
- {
- if(a > c) //b > a > c
- {
- if(a+c > b)
- {
- if(a*a+c*c==b*b)
- {
- cout << "Right Triangle" << endl;
- }
- else if(a*a+c*c<b*b)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(a*a+c*c>b*b)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- else //b, c > a
- {
- if(b > c) //b > c > a
- {
- if(a+c > b)
- {
- if(a*a+c*c==b*b)
- {
- cout << "Right Triangle" << endl;
- }
- else if(a*a+c*c<b*b)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(a*a+c*c>b*b)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- else //c > b > a
- {
- if(a+b > c)
- {
- if(b*b+a*a==c*c)
- {
- cout << "Right Triangle" << endl;
- }
- else if(b*b+a*a<c*c)
- {
- cout << "Obtuse Triangle" << endl;
- }
- else if(b*b+a*a>c*c)
- {
- cout << "Acute Triangle" << endl;
- }
- }
- else
- {
- cout << "Not Triangle" << endl;
- }
- }
- }
- }
- }
- return 0;
- }
沒有留言:
張貼留言