直角三角形

/*

创建一个CTriangle 类,需要用到第二题中创建的类,即用3点来代表一个三角形,输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。

输入描述:

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

输出描述:

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

输入

复制
1
0 0 3 0 0 4

输出

复制
Yes
12.00

*/

 

#include<stdio.h>
#include<math.h>
int main(int argc,char *argv[])
{
    int i,j,n,a,b,c;
    int nums[3][2],max=0;
    scanf("%d",&n);
    while(n--)
    {
        for(i=0;i<3;i++)
        {
            for(j=0;j<2;j++)
            {
                scanf("%d",&nums[i][j]);
            }
        }
        a=pow(nums[0][0]-nums[1][0],2)+pow(nums[0][1]-nums[1][1],2);
        b=pow(nums[1][0]-nums[2][0],2)+pow(nums[1][1]-nums[2][1],2);
        c=pow(nums[2][0]-nums[0][0],2)+pow(nums[2][1]-nums[0][1],2);
        if(a>b)
        {
            max=a>c?a:c;
        }else
        {
            max=b>c?b:c;
        }
        if((max!=a&&max!=b&&max==b+a)||(max!=b&&max!=c&&max==b+c)||(max!=a&&max!=c&&max==a+c))
        {
            printf("Yes\n");
        }else
        {
            printf("No\n");
        }
        printf("%.2lf\n",(double)(sqrt(a)+sqrt(b)+sqrt(c)));
    }
    return 0;
}

posted on 2019-04-18 17:06  redOrange01  阅读(605)  评论(0编辑  收藏  举报