三角形的类别

分析问题

输入三个连长,判断其是否为三角形,若是基角形,输出它的类型

两个短边的平方和等于一个长边的平方时为直角三角形。
两个短边的平方和小于一个长边的平方时为钝角三角形。
两个短边的平方和大于一个长边的平方时为锐角三角形。

建立模型

输入三个数a b c

对a b c三个数从小到大进行排序

​ 如果a大于b 交换 ab

​ 如果a大于c 交换 ac

​ 如果b大于c 交换 bc

//判断是否为三角形

如果两条短边ab的和大于长边c:

​ 如果ab两个短边的平方和等于一个长边的平方时为直角三角形。

​ 输出zhijiao

​ 否则如果ab两个短边的平方和小于一个长边的平方时为钝角三角形。

​ 输出dunjiao

​ 否则如果ab两个短边的平方和大于一个长边的平方时为锐角三角形。

​ 输出ruijiao

否则

​ 输出no //不是三角形

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    //从小到大排序
    if(a>b) swap(a,b);
    if(a>c) swap(a,c);
    if(b>c) swap(b,c);
    //判断是否为三角形
    if(a+b>c){//如果是三角形
        if((a*a+b*b) == c*c){
            cout<<"zhijiao";
        }else if((a*a+b*b) < c*c){
            cout<<"dunjiao";
        }else if((a*a+b*b) > c*c){
            cout<<"ruijiao";
        }
    }else{//不是三角形
        cout<<"no";
    }
    return 0;
}

保存 编译 运行