2017年10月7日 星期六

[C_MM39-易] 判斷是何種三角形(C++)

[C_MM39-易] 判斷是何種三角形

問題描述:當三個邊長能夠構成三角形時,再判斷該三角形為鈍角、銳角或是直角三角形,其判別方法如下:
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
  1. #include <iostream>  
  2. using namespace std;  
  3. //[C_MM38-易] 判斷3整數是否能構成三角形之三邊長  
  4.    
  5. int main() {  
  6.     int a, b, c;  
  7.     while(cin >> a >> b >> c)  
  8.     {  
  9.         if(a > b)  
  10.         {  
  11.             if(b > c) //a > b > c  
  12.             {  
  13.                 if(b+c > a)  
  14.                 {  
  15.                     if(b*b+c*c==a*a)  
  16.                     {  
  17.                         cout << "Right Triangle" << endl;  
  18.                     }  
  19.                     else if(b*b+c*c<a*a)  
  20.                     {  
  21.                         cout << "Obtuse Triangle" << endl;  
  22.                     }  
  23.                     else if(b*b+c*c>a*a)  
  24.                     {  
  25.                         cout << "Acute Triangle" << endl;  
  26.                     }  
  27.                 }  
  28.                 else  
  29.                 {  
  30.                     cout << "Not Triangle" << endl;  
  31.                 }  
  32.             }  
  33.             else  
  34.             {  
  35.                 if(a > c) //a > c > b  
  36.                 {  
  37.                     if(b+c > a)  
  38.                     {  
  39.                         if(b*b+c*c==a*a)  
  40.                         {  
  41.                             cout << "Right Triangle" << endl;  
  42.                         }  
  43.                         else if(b*b+c*c<a*a)  
  44.                         {  
  45.                             cout << "Obtuse Triangle" << endl;  
  46.                         }  
  47.                         else if(b*b+c*c>a*a)  
  48.                         {  
  49.                             cout << "Acute Triangle" << endl;  
  50.                         }  
  51.                     }  
  52.                     else  
  53.                     {  
  54.                         cout << "Not Triangle" << endl;  
  55.                     }  
  56.                 }  
  57.                 else //c > a > b  
  58.                 {  
  59.                     if(a+b > c)  
  60.                     {  
  61.                         if(b*b+a*a==c*c)  
  62.                         {  
  63.                             cout << "Right Triangle" << endl;  
  64.                         }  
  65.                         else if(b*b+a*a<c*c)  
  66.                         {  
  67.                             cout << "Obtuse Triangle" << endl;  
  68.                         }  
  69.                         else if(b*b+a*a>c*c)  
  70.                         {  
  71.                             cout << "Acute Triangle" << endl;  
  72.                         }  
  73.                     }  
  74.                     else  
  75.                     {  
  76.                         cout << "Not Triangle" << endl;  
  77.                     }  
  78.                 }  
  79.             }  
  80.         }  
  81.         else //b > a  
  82.         {  
  83.             if(a > c) //b > a > c  
  84.             {  
  85.                 if(a+c > b)  
  86.                 {  
  87.                     if(a*a+c*c==b*b)  
  88.                     {  
  89.                         cout << "Right Triangle" << endl;  
  90.                     }  
  91.                     else if(a*a+c*c<b*b)  
  92.                     {  
  93.                         cout << "Obtuse Triangle" << endl;  
  94.                     }  
  95.                     else if(a*a+c*c>b*b)  
  96.                     {  
  97.                         cout << "Acute Triangle" << endl;  
  98.                     }  
  99.                 }  
  100.                 else  
  101.                 {  
  102.                     cout << "Not Triangle" << endl;  
  103.                 }  
  104.             }  
  105.             else //b, c > a  
  106.             {  
  107.                 if(b > c) //b > c > a  
  108.                 {  
  109.                     if(a+c > b)  
  110.                     {  
  111.                         if(a*a+c*c==b*b)  
  112.                         {  
  113.                             cout << "Right Triangle" << endl;  
  114.                         }  
  115.                         else if(a*a+c*c<b*b)  
  116.                         {  
  117.                             cout << "Obtuse Triangle" << endl;  
  118.                         }  
  119.                         else if(a*a+c*c>b*b)  
  120.                         {  
  121.                             cout << "Acute Triangle" << endl;  
  122.                         }  
  123.                     }  
  124.                     else  
  125.                     {  
  126.                         cout << "Not Triangle" << endl;  
  127.                     }     
  128.                 }  
  129.                 else //c > b > a  
  130.                 {  
  131.                     if(a+b > c)  
  132.                     {  
  133.                         if(b*b+a*a==c*c)  
  134.                         {  
  135.                             cout << "Right Triangle" << endl;  
  136.                         }  
  137.                         else if(b*b+a*a<c*c)  
  138.                         {  
  139.                             cout << "Obtuse Triangle" << endl;  
  140.                         }  
  141.                         else if(b*b+a*a>c*c)  
  142.                         {  
  143.                             cout << "Acute Triangle" << endl;  
  144.                         }  
  145.                     }  
  146.                     else  
  147.                     {  
  148.                         cout << "Not Triangle" << endl;  
  149.                     }  
  150.                 }  
  151.             }  
  152.         }  
  153.     }  
  154.     return 0;  
  155. }  

沒有留言:

張貼留言