题目描述
学校和 yyy 的家之间的距离为 s米,而 yyy 以 v米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 10分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
输入
一行两个正整数 s,v,分别代表路程和速度。
输出
输出一个 24小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 0。
输入案例:100 99
输出案例:07:48
解题思路
1.题目中s与v单位都为分,需要将题目中的8小时换成(8*60)分钟,由于时间可能超过1天,在求出来的分钟要加上(24*60)分钟;
2.判断走路花费时间是否需要向上取整,即当s不能被v整除时,需要提前一分钟;
3.输出小时和分钟都要输出两位,不足10要补0
源代码
#include<stdio.h>
int main(void)
{
int h,m,s,v,t,x,y;
scanf("%d%d",&s,&v);
if(s%v==0)//向上取整
t=10+s/v;
else
t=11+s/v;
if(480-t<0)//如果时间大于8*60
{
x=1440+480-t;//用前一天24*60加上8*60减去所用时间
h=x/60;//小时
m=x%60;//分钟
}
else
{//所用时间小于8*60
y=480-t;
h=y/60;
m=y%60;
}
if(h>=10)
{//小时和分钟是否为两位数
if(m>=10)
printf("%d:%d",h,m);
else
printf("%d:0%d",h,m);
}
else
{
if(m>=10)
printf("0%d:%d",h,m);
else
printf("0%d:0%d",h,m);
}
return 0;
}
运行结果
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END