A41012. 人见人爱A+B
填空题
中等
知识点
题目描述
人见人爱A+B
题目描述
北大的acm上面已经有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位整数表示。
样例输入
1
1 2 3 4 5 6
样例输出
5 7 9
参考答案
#include <stdio.h>
void add_A_B( long *A, long *B );
int main()
{
long A[3], B[3];
int N;
scanf( "%d", &N );
for ( int i = 0; i < N; i++ )
add_A_B( A, B );
return(0);
}
/*------------------------------------------*/
void add_A_B( long *A, long *B )
{
long C[3];
scanf( "%ld%ld%ld", &A[0], &A[1], &A[2] );
scanf( "%ld%ld%ld", &B[0], &B[1], &B[2] );
for ( int i = 2; i >= 0; i-- )
C[i] = A[i] + B[i];
for ( int j = 2; j > 0; j-- )
{
if ( C[j] >= 60 )
{
C[j - 1] += C[j] / 60;
C[j] %= 60;
}
}
printf( "%ld %ld %ld\n", C[0], C[1], C[2] );
}
上一题
下一题