吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1140|回复: 1
收起左侧

[求助] 测试超时,怎么改

[复制链接]
薄荷泡泡 发表于 2019-11-14 20:23
给定三条边,请你判断一下能不能组成一个三角形。
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");
                }
        }
}
显示超时,怎么改呀,谢谢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

倪沁东 发表于 2019-11-14 22:26
[C] 纯文本查看 复制代码
#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)功能,很有益处!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表