ACM----HDU-2033 人见人爱 A+B

Problem Description
HDOJ 上面已经有 10 来道 A+B 的题目了,相信这些题目曾经是大家的最爱,希望今天的这个 A+B 能给大家带来好运,也希望这个题目能唤起大家对ACM 曾经的热爱。这个题目的 A 和 B 不是简单的整数,而是两个时间,A 和 B 都是由 3 个整数组成,分别表示时分秒,比如,假设A 为 34 45 56,就表示 A 所表示的时间是34 小时 45 分钟 56 秒。
Input 
输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N 行数据,每行有 6 个整数 AH,AM,AS,BH,BM,BS,分别表示时间A 和 B 所对应的时分秒。题目保证所有的数据合法。
Output
对于每个测试实例,输出A+B ,每个输出结果也是由时分秒3 部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32 位整数表示。
Sample Input
2
1 2 3 4 5 6
34 45 56 12 23 34
Sample Output
5 7 9
47 9 30
Author
lcy
Source
ACM 程序设计期末考试(2006/06/07)
Recommend
lcy
解题思路:按位将数据进行相加,注意进位规则。
 1 #include<stdio.h>
 2 int main(){
 3     int n;
 4     int i;
 5     int a,b,c,d,e,f;
 6     int p,q;
 7     while(scanf("%d",&n)!=EOF){
 8         c=0;d=0;e=0;
 9         for(i=0;i<n;i++){
10             a=0;b=0;c=0;d=0;e=0;f=0;
11             scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
12             a=a+d;b=b+e;c=c+f;p=0;
13             //进位满60进1
14             while(c>60){
15                 c=c-60;
16                 p++;
17             }
18             b=b+p;q=0;
19             while(b>60){
20                 b=b-60;
21                 q++;
22             }
23             a=a+q;
24             printf("%d %d %d\n",a,b,c);
25         }
26     }
27 }

 

posted @ 2021-01-04 20:40  AA、  阅读(115)  评论(0编辑  收藏  举报