1342-三角形:已知兩個三角形的三條邊的長度,請問它們是否相似?

yzl_007發表於2020-11-18

Description
三角形
題目描述
已知兩個三角形的三條邊的長度,請問它們是否相似?

輸入
第一行是一個整數T(1≤T≤1000),表示樣例的個數。 每個樣例佔兩行,每行為三個整數a,b,c1≤a,b,c≤1000,表示一個三角形的邊長。 輸入資料保證三條邊一定能構成三角形。

輸出
依次輸出每個樣例的結果,如果相似,輸出"Yes",否則輸出"No"。

樣例輸入

2
3 4 5
3 3 3
3 4 5
6 8 10

樣例輸出

No
Yes

#include<stdio.h>
int main()
{
    double a1,b1,c1,a2,b2,c2,temp,a,b,c;
    int n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%lf%lf%lf%lf%lf%lf",&a1,&b1,&c1,&a2,&b2,&c2);
        if(a1 > b1)
        {
            temp = a1;
            a1 = b1;
            b1 = temp;
        }
        if(a1 > c1)
        {
            temp=a1;
            a1=c1;
            c1=temp;
        }
        if(b1 > c1)
        {
            temp=b1;
            b1=c1;
            c1=temp;
        }
        if(a2 > b2)
        {
            temp=a2;
            a2=b2;
            b2=temp;
        }
        if(a2 > c2)
        {
            temp=a2;
            a2=c2;
            c2=temp;
        }
        if(b2 > c2)
        {
            temp=b2;
            b2=c2;
            c2=temp;
        }
    a = a1 / a2;
    b = b1 / b2;
    c = c1 / c2;
    if(a1 + b1 > c1 && a2 + b2 > c2 && c1 - b1 < a1 && c2 - b2 < a2)  //判斷是否為三角形
        if(a == b && b == c)
            printf("Yes\n");
        else
            printf("No\n");
    else
        printf("No\n");

}
return 0;
}

相關文章