杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法

三角形
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 28002 Accepted Submission(s): 9138

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<stdio.h>
#define bast(a,b,c) (a+b>c) ? 1:0
int main(){
int m,x,y,z;
scanf("%d",&m);
while(m--)
{
scanf("%d%d%d",&x,&y,&z);
if(bast(x,y,z)==1&&bast(x,z,y)==1&&bast(y,z,x)==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}

判断这样用问什么会通不过呢?哪位大神讲讲正确的用法

没说是int,用double类型

 #include<stdio.h>
#define bast(a,b,c) ((a+b>c) ? 1:0)
int main(){
int m;
double x,y,z;
scanf("%d",&m);
while(m--)
{
scanf("%lf%lf%lf",&x,&y,&z);
if(bast(x,y,z)==1&&bast(x,z,y)==1&&bast(y,z,x)==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}

已ac。define处也需要修改

数据类型不确定,有可能是浮点型