相似三角形

相似三角形

Time Limit: 1000MS Memory Limit: 65536KB

Submit Statistic

Problem Description

给出两个三角形的三条边,判断是否相似。

Input

多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序

Output

如果相似输出YES,如果不相似输出NO,如果三边组不成三角形也输出NO。

Example Input
1 2 3 2 4 6
3 4 5 6 8 10
3 4 5 7 8 10
Example Output
NO
YES
NO

 

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a, b, c, d, e, f, n;
    while(scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f)!=EOF)
    {
        if( a < b )
        {
            n = b;
            b = a;
            a = n;

        }
        if( a < c )
        {
            n = c;
            c = a;
            a = n;
        }
        if( b < c )
        {
            n = c;
            c = b;
            b = n;
        }
        if( d < e )
        {
            n = e;
            e = d;
            d = n;
        }
         if( d < f )
         {
             n = f;
             f = d;
             d = n;
         }
         if( e < f )
         {
             n = f;
             f = e;
             e = n;
         }
         if((a * e ==b * d&&a * f == d * c)&&(a + b > c&&a + c > b&&b + c > a)&&(d + e > f&&d + f > e&&e + f > d))
            printf("YES\n");
            else
                printf("NO\n");
    }
            return 0;

}
 

转载于:https://my.oschina.net/u/2601269/blog/759761

### 判断相似三角形的算法实现(C语言) 在判断两个三角形是否为相似三角形时,核心在于比较它们的三边比例是否一致。如果两个三角形的三条边分别成比例,则这两个三角形相似三角形。 为了实现这一判断逻辑,可以按照以下步骤进行: 1. **输入三角形的三边**:分别输入两个三角形的三条边。 2. **排序边长**:将每个三角形的三条边按从小到大的顺序排序,以确保对应边的比例关系正确[^5]。 3. **计算比例**:计算两个三角形对应边的比例,并判断这些比例是否相等。 4. **验证三角形合法性**:确保输入的边确实能够构成三角形,即满足任意两边之和大于第三边、任意两边之差小于第三边的条件。 5. **输出结果**:如果所有比例一致且三角形合法,则输出“YES”;否则输出“NO”。 以下是基于上述逻辑的C语言实现代码: ```c #include <stdio.h> int main() { double a1, b1, c1, a2, b2, c2; double temp; while (scanf("%lf %lf %lf %lf %lf %lf", &a1, &b1, &c1, &a2, &b2, &c2) != EOF) { // 对第一个三角形的边长排序 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; } // 检查是否构成三角形 if ((a1 + b1 > c1 && c1 - b1 < a1) && (a2 + b2 > c2 && c2 - b2 < a2)) { double ratio1 = a1 / a2; double ratio2 = b1 / b2; double ratio3 = c1 / c2; // 判断比例是否相等 if (ratio1 == ratio2 && ratio2 == ratio3) { printf("YES\n"); } else { printf("NO\n"); } } else { printf("NO\n"); } } return 0; } ``` 该程序通过输入两组三角形的边长并进行排序后,计算其对应边的比例,并判断这些比例是否一致,从而确定两个三角形是否为相似三角形[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值