编写一个程序,要求用户输入 24 小时制的时间,然后显示 12 小时制的时间。
输入格式:
输入在一行中给出带有中间的 : 符号(半角的冒号)的 24 小时制的时间,如 12:34 表示 12 点 34 分。当小时或分钟数小于 10 时,均没有前导的零,如 5:6 表示 5 点零 6 分。
提示:在 scanf 的格式字符串中加入 :,让 scanf 来处理这个冒号。
输出格式:
在一行中输出这个时间对应的 12 小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串 AM 或表示下午的字符串 PM。如 5:6 PM 表示下午 5 点零 6 分。
注意,在英文的习惯中,中午 12 点被认为是下午,所以 24 小时制的 12:00 就是 12 小时制的 12:0 PM;而 0 点被认为是第二天的时间,所以是 0:0 AM。
输入样例:
21:11
输出样例:
9:11 PM
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/14/exam/problems/787
提交:
题解:
#include<stdio.h>
int main(void) {
int hour, minute;
scanf("%d:%d", &hour, &minute);
if (hour >= 0 && hour < 12) {
printf("%d:%d AM\n", hour, minute);
} else if (hour == 12) {
printf("%d:%d PM\n", hour, minute);
} else {
printf("%d:%d PM\n", hour % 12, minute);
}
return 0;
}