代码改变世界

小Q系列之失恋

2016-12-12 20:55  HHFFZ  阅读(150)  评论(0编辑  收藏  举报

这个题其实不难  仔细想想,,

注意题中要求的是一天是12个小时

#include<algorithm>
#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
    int a,b,c,d,e,f,h,m,s,k,p,t;
    scanf("%d",&t);
   while(t>0)
   {
        k=0;
        scanf("%d:%d:%d",&a,&b,&c);//注意双引号一定要加上
        scanf("%d:%d:%d",&d,&e,&f);
        s=c-f;就是  秒减去秒   不够加60,分减去一
        if(s<0)
        {
            s=s+60;
            k++;
        }
        m=b-e-k;k=0;
        if(m<0)
        {
            m=m+60;
            k++;
        }
        h=a-d-k;//这个时候h可能为负,,

        while(h<0)
        {
            h=h+12;注意一天是12 小时。
        }

        if(h>=10)与10比较是为了  判断前面加不加0
        {
            printf("%d:",h);
        }
        else
        {
            printf("0%d:",h);
        }
        if(m>=10)
        {
            printf("%d:",m);
        }
        else
        {
            printf("0%d:",m);
        }
        if(s>=10)
        {
            printf("%d\n",s);
        }
        else
        {
            printf("0%d\n",s);
        }

    t--;

    }
    getchar();getchar();getchar();
}

其实  还有一个简单的方法

你可以把他们全部转化为秒  减去后   如果为负   可以加12乘以3600;直到不为负,然再得到小时   分   秒。