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这里要注意一个陷阱,”包括三个正数A,B,C“只指明了A,B,C是正数,并没有说是正整数,所以定义时应该定义三条边为double或float型,而不是int型上代码:#include<stdio.h> int f(double a,double b,double c) { if(a+b>c&&a-b<c&&b-a<c) return 1; return 0; } int main() { int n; double a,b,c; scanf("%d",&n); while(n--) { scanf("%lf%lf%lf",&a,&b,&c); if(f(a,b,c)&&f(b,c,a)&&f(c,a,b)) printf("YES\n"); else printf("NO\n"); } return 0; }