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
涉及:三角形判断原则:任意两边之和都大于第三边
#include <iostream>
using namespace std;
#include <algorithm>
int main()
{
int m;
cin >> m;
while (m--)
{
//double数据类型,小心误写为int
double arr[3];
//固定每组都只有三个数,三个边长
//所以可以不用循环接受数据
cin >> arr[0] >> arr[1] >> arr[2];
//默认是升序,用前两个较小的边之和与第三边比较
sort(arr, arr + 3);
if (arr[0] + arr[1] > arr[2])
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
}
return 0;
}