人见人爱A+B

#include <iostream>
using namespace std;
/*
HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。

输入
输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。

输出
对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。

示例输入
2
1 2 3 4 5 6
34 45 56 12 23 34

示例输出
5 7 9
47 9 30
*/
int main() {
	int n, ah, am, as, bh, bm, bs;		//定义n, ah, am, as, bh, bm, bs接收数据
	cin >> n;							//使用cin接收n有多少组数据
	while (n--)							//定义while循环,对接收到的n个数,每循环一次进行自减一。
	{
		cin >> ah >> am >> as;			//使用cin接收ah,am,as的数据
		cin >> bh >> bm >> bs;			//使用cin接收ah,am,as的数据

		as += bs;		//as = as +bs
		am += bm;		//am = am +bm
		ah += bh;		//ah = ah +bh

		am += as / 60;		//am = am + as ÷ 60,as因为代表的是秒,所以除60用来给am进1位。
		as %= 60;			//as = as % 60,as因为代表的是秒,所以自身要模60,不能超出60

		ah += am / 60;		//ah = ah + am ÷ 60,am因为代表的是分,所以除60用来给ah进1位。
		am %= 60;			//am = am % 60,as因为代表的是分,所以自身要模60,不能超出60

		cout << ah << " " << am << " " << as << endl;
	}
	return 0;
}

已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注