读取表示三角形三条边的 3 个浮点数 A,B 和 C 并按降序排列,使 A 边是三边中最大的一边。
接下来,根据以下情况,确定它们可以组成的三角形类型:
- 如果 A≥B+C,则说明三条边不能构成三角形,请输出:
NAO FORMA TRIANGULO
- 否则,说明三条边可以构成三角形,然后按如下情况输出:
- 如果A2=B2+C2,请输出:
TRIANGULO RETANGULO
- 如果A2>B2+C2,请输出:
TRIANGULO OBTUSANGULO
- 如果A2<B2+C2,请输出:
TRIANGULO ACUTANGULO
- 如果三个边长度都相同,请输出:
TRIANGULO EQUILATERO
- 如果只有两个边长度相同而第三个边长度不同,请输出:
TRIANGULO ISOSCELES
- 如果A2=B2+C2,请输出:
共一行,包含三个浮点数 A,B,C。
输出 A,B,C 组成的三角形的类型。
注意,上述条件可能满足不止一条,这种情况下将所有类型名称,按题目介绍顺序输出,每行输出一条。
0<A,B,C<10.0
7.0 5.0 7.0
TRIANGULO ACUTANGULO
TRIANGULO ISOSCELES
#include <iostream>
using namespace std;
int main()
{
double a,b,c;
cin>>a>>b>>c;
double x,y,z;
x=max(max(a,b),c);
z=min(min(a,b),c);
y=a+b+c-x-z;
if(x>=y+z)cout<<"NAO FORMA TRIANGULO"<<endl;
else if(x*x==y*y+z*z)cout<<"TRIANGULO RETANGULO"<<endl;
else if(x*x>y*y+z*z)cout<<"TRIANGULO OBTUSANGULO"<<endl;
else if(x*x<y*y+z*z)cout<<"TRIANGULO ACUTANGULO"<<endl;
if(a==b&&b==c)cout<<"TRIANGULO EQUILATERO"<<endl;
else if(a==b||b==c||a==c)cout<<"TRIANGULO ISOSCELES"<<endl;
return 0;
}