我的代码还有什么坑没考虑到,只能80%部分过

P5707 【深基2.例12】上学迟到

WATP @ 2024-10-20 17:38:43

#include <stdio.h>
int main()
{ 
    int s,v;
    double t;
    scanf("%d %d",&s,&v);
    //计算总耗时分钟数
    t = 1.0*s/v;
    //计算分钟标准时间点
    t = 470.0 - t;
    //转化整型
    long tz = t;
    //时间0直接输出00:00
    if (tz == 0)
    {
        printf("00:00");
        return 0;
    }
    //大于8h时转化为头天时间
    if (tz <= 0)
    {
        tz = 24*60 + tz;
    }
    //转化为HH:MM格式
    long min = tz%60;
    long hr = (tz-min)/60;
    //输出
    printf("%02d:",hr);
    printf("%02d",min);
    return 0;
}

by JackZhai @ 2024-10-23 09:10:09

@WATP 我觉得需要考虑一下t为负数时问题,当470-t,t>470时可能会出现负数数值.希望能帮到你


by WATP @ 2024-10-23 12:36:06

@JackZhai ```c if (tz <= 0) { tz = 24*60 + tz; }


在这里考虑到了,如果最终结果小于零,直接累加到头天的整24小时上

|