洛谷-P5717 【深基3.習8】三角形分類
題目描述
給出三條線段 \(a,b,c\) 的長度,均是不大於 10000 的整數。打算把這三條線段拼成一個三角形,它可以是什么三角形呢?
- 如果三條線段不能組成一個三角形,輸出
Not triangle
; - 如果是直角三角形,輸出
Right triangle
; - 如果是銳角三角形,輸出
Acute triangle
; - 如果是鈍角三角形,輸出
Obtuse triangle
; - 如果是等腰三角形,輸出
Isosceles triangle
; - 如果是等邊三角形,輸出
Equilateral triangle
。
如果這個三角形符合以上多個條件,請分別輸出,並用換行符隔開。
輸入格式
無
輸出格式
無
輸入輸出樣例
無
說明/提示
當兩短邊的平方和大於一長邊的平方,說明是銳角三角形。
當兩短邊的平方和等於一長邊的平方,說明是直角三角形。
當兩短邊的平方和小於一長邊的平方,說明是鈍角三角形。
C++代碼
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a > b)
swap(a, b);
if (b > c)
swap(b, c);
if (a + b <= c) {
cout << "Not triangle" << endl;
return 0;
}
a *= a;
b *= b;
c *= c;
if (a + b == c)
cout << "Right triangle" << endl;
else if (a + b > c)
cout << "Acute triangle" << endl;
else
cout << "Obtuse triangle" << endl;
if (a == b || b == c)
cout << "Isosceles triangle" << endl;
if (a == b && b == c)
cout << "Equilateral triangle" << endl;
return 0;
}