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
2005实验班短学期考试
这道题并不难,唯一要注意的两点就是:
一:是最长的边大于其余两条边,才会成立
二:题中只说了正数,所以包括整数以及小数;
以下是我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;
}