没什么思维难度,就是转换格式,需注意中午和凌晨时间的表示,可以单独列出情况。年份须四位输出,也就是说,举个例子当年份为22时,应该输出0022而不是22.
因此比较简单的写法是用printf("%04d",y);
代码如下:
#include <stdio.h>
int main(void)
{
int T,i;
int a[11][6];
char a1,a2,b1,c1;
a1='a';
a2='m';
b1='p';
scanf_s("%d",&T);
for(i=0;i<T;i++)
{
scanf_s("%d/%d/%d-%d:%d:%d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6]);
}
for(i=0;i<T;i++)
{
if(a[i][4]>=12)
{
c1=b1;
if(a[i][4]==12)
a[i][4]=a[i][4]; /特殊情况之一
else
a[i][4]=a[i][4]-12;
}
else
{
c1=a1;
if(a[i][4]==0)
a[i][4]=12; /特殊情况之一
else
a[i][4]=a[i][4];
}
printf("%02d/%02d/%04d-%02d:%02d:%02d%c%c",a[i][2],a[i][3],a[i][1],a[i][4],a[i][5],a[i][6],c1,a2);
printf("\n");
}
return 0;
}