样例输入
2
13:14:15
3:4:5
样例输出
03:04:05AM
01:14:15PM
#include<stdio.h>
#include<string.h>
struct time
{
int hour;
int minute;
int second;
char meri[3]="AM";
};
void sorttime(time t[],int n)
{
struct time *p;
for(int i=0;i<n-1;i++)
{
for(int j=1;j<n-i;j++)
{
if(t[i].hour!=t[j].hour)
{
if(t[i].hour>t[j].hour)
{
*p=t[i];
t[i]=t[j];
t[j]=*p;
}
}
else if(t[i].minute!=t[j].minute)
{
if(t[i].minute>t[j].minute)
{
*p=t[i];
t[i]=t[j];
t[j]=*p;
}
}
else
{
if(t[i].second>t[j].second)
{
*p=t[i];
t[i]=t[j];
t[j]=*p;
}
}
}
}
}
void converttime(time *p,int n)
{
for(int i=0;i<n;i++)
{
if(p[i].hour>12)
{
p[i].hour%=12;
strcpy(p[i].meri,"PM");
}
}
}
int main()
{
struct time t[100],*p;
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d:%d:%d",&t[i].hour,&t[i].minute,&t[i].second);
p=t;
sorttime(t,n);
converttime(p,n);
for(i=0;i<n;i++)
printf("%02d:%02d:%02d%s\n",t[i].hour,t[i].minute,t[i].second,t[i].meri);
return 0;
}