直角三角形
题目描述
创建一个CTriangle 类,需要用到第二题中创建的类,即用3点来代表一个三角形,输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。
输入描述:
输入第一行为样例数m,接下来m行每行6个整数分别表示三个点的横纵坐标。
输出描述:
对于每个样例输出两行,第一行根据是否直角三角形输出Yes或No,第二行输出三角形的周长,保留小数点后两位。
示例1
输入
1
0 0 3 0 0 4
输出
Yes
12.00
思路:算出点之间的距离,用勾股定理判断。
#include <iOStream>
#include <cmath>
using namespace std;
class CTriangle{
public:
int x1,x2,x3;
int y1,y2,y3;
CTriangle()
{
}
CTriangle(int a,int b,int c,int d,int e,int f)
{
x1 = a;
y1 = b;
x2 = c;
y2 = d;
x3= e;
y3 = f;
}
double SumDis(int a,int b,int c,int d)
{
return (sqrt(1.0*((a-c)*(a-c))+(1.0*(b-d)*(b-d))));
}
void print()
{
double len1 = SumDis(x1,y1,x2,y2);
double len2 = SumDis(x2,y2,x3,y3);
double len3 = SumDis(x3,y3,x1,y1);
if(len1 > len3)
{
swap(len1,len3);
}
if(len2 > len3)
{
swap(len2,len3);
}
if((len1*len1)+(len2*len2) == len3*len3)
{
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
double ret = len1+len2+len3;
printf("%.2lf\n",ret);
}
};
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
int a,b,c,d,e,f;
cin >> a >>b >>c >>d >>e >>f;
CTriangle ret(a,b,c,d,e,f);
ret.print();
}
return 0;
}
相关阅读
网络红人周扬青是罗志祥的现任女友,周扬青的淘宝店在淘宝商城上还是比较受欢迎的。那么周扬青的淘宝店地址在哪里?主要卖什么商品
《社交网络》是一部改编自本·麦兹里奇的小说《意外的亿万富翁:Facebook的创立,一个关于性、金钱、天才和背叛的故事》,由大卫 · 芬
在使用win 7 无线承载网络时,启动该服务时,有时会提示:组或资源的状态不是执行请求操作的正确状态。网上有文章指出,解决这个问题的方
对于我喜欢和常用的网站我会特别介绍一下的,其他大家自己看着办吧。还有一点,一般专门的BT论坛会比这些搜索引擎收录快,发布站式的BT
网络传输方式 1.面向无连接型: 不要求建立和断开连接,发送端可于任何时候自由发送数据. 反之, 接收端也永远不知道自己会在何时从