C++ 代码
#include <iostream>
#include <algorithm>
#include <cmath>
int main() {
double A, B, C;
std::cin >> A >> B >> C;
// 按降序排列三个数
double sides[] = {A, B, C};
std::sort(sides, sides + 3, std::greater<double>());//如果是升序使用less<double>()
A = sides[0];
B = sides[1];
C = sides[2];
// 判断是否能构成三角形
if (A >= B + C) {
std::cout << "NAO FORMA TRIANGULO" << std::endl;
} else {
// 判断三角形类型
if (std::pow(A, 2) == std::pow(B, 2) + std::pow(C, 2)) {
std::cout << "TRIANGULO RETANGULO" << std::endl;
}
if (std::pow(A, 2) > std::pow(B, 2) + std::pow(C, 2)) {
std::cout << "TRIANGULO OBTUSANGULO" << std::endl;
}
if (std::pow(A, 2) < std::pow(B, 2) + std::pow(C, 2)) {
std::cout << "TRIANGULO ACUTANGULO" << std::endl;
}
if (A == B && B == C) {
std::cout << "TRIANGULO EQUILATERO" << std::endl;
}
if ((A == B && A != C) || (A == C && A != B) || (B == C && B != A)) {
std::cout << "TRIANGULO ISOSCELES" << std::endl;
}
}
return 0;
}