求助,unaccept 是在,回事

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

zajiu @ 2024-03-09 08:34:56

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
    int a, b, c, d,hour,Smin,min;
    double T,s,v;
    cin >> s>> v ;
    T= s/v;
    Smin = 8 * 60 - T - 10;
    hour = Smin / 60;
    min = Smin%60;
    printf("%02d: %02d", hour, min);
    return 0;
}

by TPJ_XiaoJing @ 2024-03-09 09:07:55

@zajiu

T(从家到学校所需时间)应该向上取整,因为即使走路时间是小数,yyy也无法确切地在非整数分钟出门。

计算最晚出发时间时没有正确处理可能出现的时间溢出问题,比如当计算出的时间小于零时应该加上一天的分钟数(即1440分钟)来修正。

正解:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int s, v;
    cin >> s >> v;
    int T = ceil((double)s / v);
    int Smin = 8 * 60 - T - 10;
    if (Smin < 0) {
        Smin += 1440;
    }
    int hour = Smin / 60;
    int min = Smin % 60;
    printf("%02d:%02d", hour, min);
    return 0;
}

by TPJ_XiaoJing @ 2024-03-09 09:09:12

如果你用的是VS,那在第一行把#define _CRT_SECURE_NO_WARNINGS给加上。

@zajiu


|