7-6 12-24小时制
写在最前面:本答案为作者和朋友讨论得出,请在没有思路时作为参考启发,不要直接抄袭
这个题不要想的那么复杂,小时数是一个大于等于0的整数。那么我们只需要考虑三种情况:
1.当 hh>=0&&h<11 的时候,此时hh不需要作任何改动,直接要求按照格式输出即可;
2.当 hh==12 的时候,此时按照题目规定,是下午,而mm的范围是[0-59],始终在下午段,因此本题其实并不需要考虑mm的取值如何,直接输出下午的格式即可;
3.当 hh>12 的时候,此时按照要求将hh减去12然后按照下午格式输出即可完成本题。
需要注意的是在最下面一个分支里面包含了多个语句,要用{ }括起来,不然会输出多个时间导致错误
#include<stdio.h>
int main()
{
int hh,mm;
scanf("%d:%d",&hh,&mm);
if(hh<12)
printf("%d:%d AM",hh,mm);
else if(hh==12)
printf("%d:%d PM",hh,mm);
else if(hh>12)
{
hh=hh-12;
printf("%d:%d PM",hh,mm);
}
return 0;
}