学校和 yyy 的家之间的距离为 �s 米,而 yyy 以 �v 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 1010 分钟的时间进行垃圾分类。
学校要求必须在上午 8:008:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
输入格式
一行两个正整数 �,�s,v,分别代表路程和速度。
输出格式
输出一个 2424 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 HH:MMHH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 00。
#include<stdio.h>
#include<math.h>
int main(void) {
unsigned int s,v,h,m=0; //s为路程 v为速度 h 为所用时间整数类,m代表所分钟
scanf_s("%d", &s);
scanf_s("%d", &v);
float t=s/ v+10;//算出所用的总时间,注意:此时要使用浮点类型,如果使用int类型,会导致路程除 //以速度所算出来的时间偏少,因为我们无法保证路程恰好是速度的整数倍
//特别注意1.0*s/v不能写成1.0*(s/v)如果写成第二种会导致先进行s/v此时仍算出来一个整数类会 //使得我们的比较无效
if (1.0*s/v> s / v)t++;//此时我们比较的是路上行走的时间是否为一个整数,如果不是整数,就代表我 //们此时所有实际时间比int类型会多几秒种,此时所用的总时间便需要加一分钟
h = t /60;//所用小时
m = t - h * 60;//所用的分钟
//此时我们最晚到达时间减去所用时间便是我们的最晚出发时间
if (h<8) {//24点到8点时间段
printf("%02d:%02d", 8 - (h+1), 60 - m);
}
else {//前一天时间段
printf("%02d:%02d", 24+8-h-1, 60 - m);
}
return 0;
}
在做这道题时借鉴了别人的代码,所以有很多地方会雷同