问题描述
- 杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法
-
三角形
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 28002 Accepted Submission(s): 9138Problem 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 2Sample 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("YESn"); else printf("NOn"); } return 0; }
判断这样用问什么会通不过呢?哪位大神讲讲正确的用法
解决方案
#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("YESn");
else
printf("NOn");
}
return 0;
}
已ac。define处也需要修改
解决方案二:
没说是int,用double类型
时间: 2025-01-07 12:07:16