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