电子表A+B

781 词

题目描述

A+B非常经典,同学们也非常喜欢,这不老师也给大家出一个A+B的问题:设电子表格式为24小时制的 HH:MM:SS

输入一个电子表上的时间A,经过时间B后,电子表上显示的时间是多少呢?

输入

多组输入

每一行为一组测试数据包含六个整数 表示两个时间数据A B格式为时分秒

输出

每组数据输出A时刻开始B时间段后所对应的时间

样例输入

1
2
19 45 00 01 30 59
12 00 00 12 31 50

样例输出

1
2
21:15:59
00:31:50

提示

解释下:19 45 00 01 30 59设现在时间为19 点45分 00秒,经过 01 小时30分 59秒后时间应该为21点15分59秒

所以输出应该是$21:15:59$

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<bits/stdc++.h>
using namespace std;
struct times{
int h, m, s,hh,mm,ss;
};
void input(times& c) {
cin >>c.m >> c.s >> c.hh >> c.mm >> c.ss;
}
int main() {
times x;
int h,a,b,c;
while (cin >> h) {
input(x);
a = h + x.hh; b = x.m + x.mm; c = x.s + x.ss;
while (c >= 60) { b = b + 1; c = c - 60; }
while (b >= 60) { a = a + 1; b = b - 60; }
while (a >=24) { a = a - 24; }
printf("%02d:%02d:%02d\n", a, b, c);
}
return 0;
}