第一题
Problem Description
输入两个时间(格式HH:MM:SS),你需要用前面时间减去后面时间,输出两个时间的差值(若前面的时间比后面的时间小,则把前面的时间当做是第二天来处理)
Input
有多组测试数据,每组数据中有一个数字n表示共有多少组时间需要计算。接下来有n行,每一行包含两个时间HH:MM:SS,中间用空格隔开
Output
输出所给两时间的时间差,格式HH:MM:SS,不够两位的数字前面要补0。对于每组时间输出一行
Sample Input
3
15:08:32 16:07:32
10:32:26 8:53:26
23:05:59 20:15:00
Sample Output
23:01:00
01:39:00
02:50:59
#include "bits/stdc++.h"
using namespace std;
int main(void) {
int n;
cin>>n;
for(int i=0;i<n;i++){
int hour[2],minute[2],second[2];
scanf("%d:%d:%d %d:%d:%d",&hour[0],&minute[0],&second[0],&hour[1],&minute[1],&second[1]);
int hh=hour[0]-hour[1];
int mm=minute[0]-minute[1];
int ss=second[0]-second[1];
if(ss<0){
ss+=60;
mm-=1;
}
if(mm<0){
mm+=60;
hh-=1;
}
if(hh<0){
hh+=24;
}
printf("%02d:%02d:%02d\n",hh,mm,ss);
}
return 0;
}