0
点赞
收藏
分享

微信扫一扫

AcWing 三角形类型

代码小姐 2022-03-12 阅读 81
c++

读取表示三角形三条边的 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

共一行,包含三个浮点数 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;
}
举报

相关推荐

0 条评论