题目描述
输入一个24小时制的时间,输出其12小时制的时间表示。
24小时制的时间表示范围为:00:00 ~ 23:59,没有24点的称呼。
12小时制的时间表示范围为:上午有:12:00 am ~ 12:59 am和01:00 am ~ 11:59 am,下午有:12:00 pm ~ 12:59 pm和01:00 pm ~ 11:59 pm,没有0点的称呼。
输入
输入一个24小时制的时间。格式为“时:分",如12时18分表示为”12:18“。若小时或分钟小于10时,需要带前导0,如8时8分表示为”08:08“,输出格式用“%02d”即可。
输出
与输入相对应,输出其12小时制的时间表示。
样例输入 Copy
20:18
样例输出 Copy
08:18 pm
#include <stdio.h>
int main()
{
int hour, minute;
scanf("%02d:%02d", &hour, &minute);
if (hour >= 0 && hour <= 11) {
// 上午
if (hour == 0) {
hour = 12; // 0时转换为12时
}
printf("%02d:%02d am", hour, minute);
}
else if (hour == 12) {
// 中午
printf("%02d:%02d pm", hour, minute);
}
else {
// 下午
hour -= 12;
printf("%02d:%02d pm", hour, minute);
}
return 0;
}