牛客网C语言 判断是否直角三角形

输入描述:

输入第一行为样例数m,接下来m行每行6个整数分别表示三个点的横纵坐标。

输出描述:

对于每个样例输出两行,第一行根据是否直角三角形输出Yes或No,第二行输出三角形的周长,保留小数点后两位。

示例1

输入

复制

1
0 0 3 0 0 4

输出

复制

Yes
12.00

#include <stdio.h>
#include <math.h>
void triangle(float s1,float s2,float s3)
{
    int max=0;
    if(s1>s2){
        max=1;
        if(s3>s1) 
            max=3;
    }
    else {
        max=2;
        if(s3>s2) 
            max=2;
        }   
    switch(max)
    {
        case 1:if(pow(s1,2)==pow(s2,2)+pow(s3,2)) printf("Yes\n");else printf("No\n");break;
        case 2:if(pow(s2,2)==pow(s1,2)+pow(s3,2)) printf("Yes\n");else printf("No\n");break;
        case 3:if(pow(s3,2)==pow(s1,2)+pow(s2,2)) printf("Yes\n");else printf("No\n");break;
        default : printf("wrong!\n");break;
    }
    return;
}
int main()
{
    int casenum;
    float x0,y0,x1,y1,x2,y2;
    float a,b,c;
    scanf("%d",&casenum);
    for(int i=0;i<casenum;i++)
    {
        scanf("%f%f%f%f%f%f",&x0,&y0,&x1,&y1,&x2,&y2);
        a=sqrt(pow(x0-x1,2)+pow(y0-y1,2));
        b=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
        c=sqrt(pow(x0-x2,2)+pow(y0-y2,2));
        triangle(a,b,c);
        printf("%.2f\n",a+b+c);
    }
    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个柚子有点甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值