给定三条边,请你判断一下能不能组成一个三角形。
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<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
long long n, m, flag, i, j;
double a[10], b[200];
while(scanf("%lld", &m) != EOF)
{
for(i = 0; i < m; i++)
{
for(j = 0; j < 3; j++)
scanf("%lf", &a[j]);
flag = 1;
for(j = 0; j < 3; j++)
if(a[j] >= a[(j + 1)%3] + a[(j + 2)%3])
{
flag = 0;
break;
}
if(flag == 0)
printf("NO\n");
else
printf("YES\n");
}
}
return 0;
}
注意题意中的数据。是“三个正数”,而非“三个整数”。所以才用double类型定义数据。否则会Time Limit Exceed