思路:主要注意 00:00 和 12:00 的区别即可。还有如何处理前导零。
代码:
#include <iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<set>
#include<stack>
#include<queue>
#include<map>
using namespace std;
const int N=200;
typedef long long ll;
typedef pair<int,int> pii;
char arr[N][N];
void Solved() {
int a,b;
scanf("%d:%d",&a,&b);
if(a>12&&a<=23) {
a-=12;
//printf---->不足两位前面补零
printf("%02d:%02d PM\n",a,b);
}
else if(a>0&&a<12) {
printf("%02d:%02d AM\n",a,b);
}
else if(a==0) {
printf("%02d:%02d AM\n",12,b);
}else if(a==12){
printf("%02d:%02d PM\n",a,b);
}
}
int main()
{
int t;
cin>>t;
while(t--) {
Solved();
}
return 0;
}