printf("%02d:%02d:%02d\n", h, m, s);因为这个格式WA了。
让mm++,hh++比分析m,h是否为零简单。
#include <stdio.h>
int main() {
int h, m, s, hh, mm, ss;
int n;
scanf("%d", &n);
while(n--) {
scanf("%d:%d:%d %d:%d:%d",
&h, &m, &s, &hh, &mm, &ss);
//operate second
if(s < ss) {
mm ++;
s = s + 60 - ss;
} else s -= ss;
//operate minute
if(m < mm) {
hh ++;
m = m + 60 - mm;
} else m -= mm;
hh %= 12;
//operate hour
if(h < hh) {
h = 12 - hh + h;
} else h -= hh;
printf("%02d:%02d:%02d\n", h, m, s);
}
return 0;
}