当前位置: 代码迷 >> C++ >> 求大牛帮助
  详细解决方案

求大牛帮助

热度:1904   发布时间:2013-02-26 00:00:00.0
求大牛相助
哪位可以帮我看看#include<stdio.h>
int main()
{
int i,m,j,sum1=0,sum2=0,sum3=0;
int a[100][6];
scanf("%d",&m);
for(i=0;i<m;i++)
{
for(j=0;j<6;j++)
{
     scanf("%d",&a[i][j]);
     sum1=a[i][0]+a[i][3];
     sum2=a[i][1]+a[i][4];
     sum3=a[i][2]+a[i][5];

printf("%d %d %d\n",sum1,sum2,sum3);
}
}


 北大的acm上面已经有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
1
1 2 3 4 5 6

Sample Output
5 7 9

哪里错了。。。

------解决方案--------------------------------------------------------
1
0 0 30 0 0 30
------解决方案--------------------------------------------------------
你没有考虑进位。

------解决方案--------------------------------------------------------
另外题目也没有说就100组数据,这种题目一般是一边读一边处理的。

------解决方案--------------------------------------------------------

# include <stdio.h>

int main()
{
    int n, i;
    int ah, am, as, bh, bm, bs;
    int ch, cm, cs;

    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d%d%d%d%d%d", &ah, &am, &as, &bh, &bm, &bs);
        ch = ah + bh;
        cm = am + bm;
        cs = as + bs;
        if (cs >= 60)
        {
            cm += 1;
            cs -= 60;
        }
        if (cm >= 60)
        {
            ch += 1;
            cm -= 60;
        }
        printf("%d %d %d\n", ch, cm, cs);
    }

    return 0;
}

  相关解决方案