一、题目分析
yyy可能不得不提前一点出发,但是提前的时间不会超过一天。学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。我们将情况分为两种,一种是0:00后出发的情况,另外一种是0:00前出发的情况。
此题和前面的题目相比,稍微难度大一点,多思考一下,也是可以解决的。
二、程序代码
c程序代码
#include<stdio.h>
#include<math.h>
int main(){
int s,v;
int h,m;
int tot=10; //先将分拣垃圾的时间算上
scanf("%d %d",&s,&v);
tot=tot+ceil((double)s/v);
//计算总共需要的时间(走路需要的时间向上取整)
int ttime=8*60; //计算8个小时有多少分
if(tot<=ttime){ //如果总共花费的时间少于8小时
h=(ttime-tot)/60; //得到时
m=(ttime-tot)%60; //得到分
if(h>=10) printf("%d:",h); //将h和m输出,控制输出格式
else printf("0%d:",h);
if(m>=10) printf("%d",m);
else printf("0%d",m);
}else{ //如果总共花费的时间大于8小时
int ytime=24*60; //计算24个小时有多少分
h=(ytime-tot)/60; //得到从0点开始的时
h=h+8; //输出从8点开始的时
m=(ytime-tot)%60; //得到从8点开始的分
if(h>=10) printf("%d:",h);
else printf("0%d:",h);
if(m>=10) printf("%d",m); //输出分,并控制格式
else printf("0%d",m);
}
return 0;
}