@[Rmghcz](/user/1021737) 不是很懂,您算T的时候为什么还要加1
by ImposterAnYu @ 2023-07-12 12:05:56
我建议您用字符串做一下。
by Abernethy @ 2023-07-12 12:22:34
@[Rmghcz](/user/1021737)
?
by xuzihao123 @ 2023-07-12 12:36:31
我试了一下,知道原因了。
by Abernethy @ 2023-07-12 13:47:47
如果输入 10000 1
它会输出负数
by Abernethy @ 2023-07-12 13:49:20
而10000秒在24小时范围内
,所以,您的N不能等于8 * 60 + 24 * 60
,因为它小于10000+10+1,
得改一下。
by Abernethy @ 2023-07-12 13:52:13
@[owo_ImposterAnYu_owo](/user/510555)
为了提前到
by Rmghcz @ 2023-07-12 15:20:18
@[Abernethy](/user/1031807)
好的,我试一下
by Rmghcz @ 2023-07-12 15:21:05
@[Abernethy](/user/1031807)
好的,谢谢
by Rmghcz @ 2023-07-12 15:21:35
```cpp
#include<bits/stdc++.h>
using namespace std;
double s,v,m;
int n,a,t,b;
int main()
{
cin>>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) cout<<"0"<<a<<":0"<<b;
else cout<<"0"<<a<<":"<<b;
}
else
{
if(b<10) cout<<a<<":0"<<b;
else cout<<a<<":"<<b;
}
return 0;
}
```
by sunbinbin120808 @ 2023-07-12 15:35:22