思路:将小时换算成分钟,便于计算。
如果所用分钟数不为整数,需要向上取整。
判断是前天出发还是今天出发。
输出时,如果数字不大于9,前面补0
#include<bits/stdc++.h>
using namespace std;
int main()
{
float s,v;
cin>>s>>v;
float t=s/v;//使用浮点型,如果小数位大于0,t++;
if(fmodf(t,1.0)>0)//向走路使用分钟数上求整
{
t++;//浮点数求余使用fmod,fmodf,fmodl
}
int ret=t;//将多余的小数位舍去
int minute=8*60;//将小时8转为分钟,便于计算
int stillminute=minute-10-ret;
if(stillminute<0)//
{//计算前一天的时间
int time1=(24*60+stillminute)/60;
int minute1=(24*60+stillminute)%60;//分4种情况minute1>9||minute1<=9&&time1>9&&time1<=9
if(minute1>9&&time1>9)
{cout<<time1<<":"<<minute1;}
if(minute1<=9&&time1>9)
cout<<time1<<":"<<"0"<<minute1;
if(minute1>9&&time1<=9)
cout<<"0"<<time1<<":"<<minute1;
if(minute1<=9&&time1<=9)
cout<<"0"<<time1<<":"<<"0"<<minute1;
}
else
{
int time1=stillminute/60;
int minute1=stillminute%60;
if(minute1>9)
{cout<<"0"<<time1<<":"<<minute1;}
else cout<<"0"<<time1<<":"<<"0"<<minute1;
}
}