e,最后一个测试点没过,输入是5000;10000;5000,为啥啊?
查看原帖
e,最后一个测试点没过,输入是5000;10000;5000,为啥啊?
1273558
Flax_shiep楼主2024/3/8 13:13
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    long int b[4];
    cin>>b[0]>>b[1]>>b[2];
    if(b[0]>b[1]){
        b[3]=b[0];
        b[0]=b[1];
        b[1]=b[3];
    }
     if(b[1]>b[2]){
        b[3]=b[1];
        b[1]=b[2];
        b[2]=b[3];
    }
    if(b[0]>b[1]){
        b[3]=b[0];
        b[0]=b[1];
        b[1]=b[3];
    }
    if(b[0]+b[1]<b[2]){
        cout<<"Not triangle";
        return 0;
    }
    
    //判断三条边长
    
    if(pow(b[0],2)+pow(b[1],2)==pow(b[2],2)){
        cout<<"Right triangle";
    }
    if(pow(b[0],2)+pow(b[1],2)>pow(b[2],2)){
        cout<<"Acute triangle";
    }
    if(pow(b[0],2)+pow(b[1],2)<pow(b[2],2)){
        cout<<"Obtuse triangle";
    }
    if(b[0]==b[1] or b[0]==b[2] or b[1]==b[2]){
        cout<<"\nIsosceles triangle";
    }
    if(b[0]==b[1]&&b[1]==b[2]){
        cout<<"\nEquilateral triangle";
    }
    return 0;
    
}
2024/3/8 13:13
加载中...