测试超时,怎么改
给定三条边,请你判断一下能不能组成一个三角形。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>
int main()
{
int m, i;
double a, b, c;
scanf("%d", &m);
for (i = 1; i <= m; i++)
{
while (0 < scanf("%lf%lf%lf", &a, &b, &c) < 1000)
{
if ((a + b) > c && (a + c) > b && (c + b) > a)
printf("YES\n");
else
printf("NO\n");
}
}
}
显示超时,怎么改呀,谢谢 #include <stdio.h>
int main()
{
int m, i;
double a, b, c;
scanf("%d", &m);
for (i = 1; i <= m; i++)
{
scanf("%lf%lf%lf", &a, &b, &c);
if(a>0&a<1000&b>0&b<1000&c>0&c<1000)
{
if ((a + b) > c && (a + c) > b && (c + b) > a)
printf("YES\n");
else
printf("NO\n");
}
else
printf("输入有误!");
}
return 0;
}
班门弄斧,希望能帮到你!你的while是个死循环,因为scanf的返回值不是a,b,c,而是一个int型数(scanf函数返回成功读入的数据项数),我也是初学者,希望你能善用调试(debug)功能,很有益处!
页:
[1]