题目描述:判断三边是否能够成直角三角形
代码:
#include<iostream>
#include<cstdio>
#include<math.h>
#include<algorithm>
using namespace std;
int main(){
int n;
scanf("%d",&n);
while(n--){
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if((abs(a*a+b*b-c*c))<1e-6||abs(b*b+c*c-a*a)<1e-6||abs(a*a+c*c-b*b)<1e-6){
printf("yes\n");
}
else{
printf("no\n");
}
}
return 0;
}
总结:
①:这里要用double,防止精度不够。
②:浮点数判断相等不能用a==b,要用abs(a-b)<1e-6来判断。