给定三条边,请你判断一下能不能组成一个三角形。
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
题目解析:
题目本身不难,判断三条边能否组成三角形就是运用两边之和大于第三边的条件,需要注意的点是边长不一定是整数,所以应该用float或者double类型来定义边长。
#include<iostream>
using namespace std;
int main()
{
float a[1000],b[1000],c[1000];
int n;
cin>>n;
for(int i=0;i<n;i++)
{ cin >>a[i]>>b[i]>>c[i];
}
for(int i=0;i<n;i++)
{
if(a[i]>0&&a[i]<1000&&b[i]>0&&b[i]<1000&&c[i]>0&&c[i]<1000&&a[i]+b[i]>c[i]&&a[i]+c[i]>b[i]&&b[i]+c[i]>a[i])
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
}