Problem Description
给定三条边,请你判断一下能不能组成一个三角形。
Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;
Output
对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。
Sample Input
2 1 2 3 2 2 2
Sample Output
NO YES
Author
linle
Source
这道题并不难,唯一要注意的两点就是:
一:是最长的边大于其余两条边,才会成立
二:题中只说了正数,所以包括整数以及小数;
以下是我AC的代码:
#include<iostream> #include<algorithm> //我是直接用sort直接把三个数由小到大排列,所以用这个头文件; using namespace std; double a[3]; //因为整数和小数都可以,用double; int main() { int i,n; cin>>n; while(n--) { for(i=0;i<3;i++) cin>>a[i]; sort(a,a+3); if(a[0]+a[1]>a[2]) puts("YES"); //puts是我刚学会的更简便的输出,可直接代替cout<<"YES"<<endl; else puts("NO"); } return 0; }