今天刷基础题的时候发现一个非常恶心的题
大概就是这个 wa了好几次 不多说 上题解
#include <stdio.h>
#include <math.h>
int main() {
double s, v;
int n, a, t, b;
scanf("%lf %lf", &s, &v);
n = 8 * 60 + 24 * 60; // 两天总共的分钟数
t = ceil(s / v) + 10; // ceil() 很重要,向上取整,否则按 C++ 逻辑会向下取整导致行走时间少。
n = n - t; // 得出剩下的时间。
if (n >= 24 * 60) n -= 24 * 60; // 判断是否在前一天。
b = n % 60; // 得出出发分。
a = n / 60; // 得出出发时
if (a < 10) { // 慢慢判断是否补 0
if (b < 10) printf("0%d:0%d", a, b);
else printf("0%d:%d", a, b);
} else {
if (b < 10) printf("%d:0%d", a, b);
else printf("%d:%d", a, b);
}
return 0;
}