已知一场考试的开始时间和持续时间,计算并输出考试的结束时间。注意,考试有可能跨两天。开始时间是 24 小时制。
需要将结束时间转换为 12 小时制,24 小时制和 12 小时制的对应关系如下表所示:
24小时制 12小时制 24小时制 12小时制
0 12(am) 12 12(pm)
1 1(am) 13 1(pm)
2 2(am) 14 2(pm)
3 3(am) 15 3(pm)
4 4(am) 16 4(pm)
5 5(am) 17 5(pm)
6 6(am) 18 6(pm)
7 7(am) 19 7(pm)
8 8(am) 20 8(pm)
9 9(am) 21 9(pm)
10 10(am) 22 10(pm)
11 11(am) 23 11(pm)
你的程序将会接受四个整数,分别表示开始时间的小时 hour、分钟 minute 和秒 second,以及考试持续的秒数。持续秒数不超过 86400,0 \le hour < 24, 0 \le minute,second < 60。
第一行输出三个用冒号分隔的整数和两个字符,分别表示结束时间的小时、分钟、秒和am或pm。
3 5 15 46800
4:5:15pm
23 30 0 7200
1:30:0am
先将经过的秒数加到秒对应的变量 s 上,由于 60 秒为一分钟,因此每 60 秒会向分钟 m 上进位 1 分钟,那么一共会进位 s / 60 分钟,留下 s % 60 秒不够进位。分钟向小时进位也是同样。每 24 小时是一天,h % 24 就是小时向天数进位后剩下的数值。
仔细看时间对应表,我们可以将时间转换关系分为 4 种情况: