识别三种三角形 在30 20 60的时候 输出了两种

int a,b,c;
cin>>a>>b>>c;
if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a){
    cout<<"Right";
}
if(a==b&&b==c){
    cout<<"Equilateral";
}
if (!(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)&&!(a==b&&b==c)){
    cout<<"General";
}
if(a+b<c||a+c<b||b+c<a){
    cout<<"No";
}
return 0;

}

img

img

#include <iostream>
using namespace std;
int main()
{
    int a, b, c;
    cin >> a >> b >> c;
    if (a + b < c || a + c < b || b + c < a) {
        cout << "No";
        return 0;
    }
    if (a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a) {
        cout << "Right";
    }
    if (a == b && b == c) {
        cout << "Equilateral";
    }
    if (!(a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a) && !(a == b && b == c)) {
        cout << "General";
    }
    return 0;
}

你得先判断no的情况,并且控制只能输出一种,把后面的if改成else if

使用看Readme.*大法