问题标题: 酷町堂:1504 瞌睡虫

0
0
已解决
被禁言 高乐彤
高乐彤
修练者
修练者

1504   瞌睡虫

经验值:1200 时间限制:1000毫秒

题目描述 Description

小C喜欢在上课的时候打瞌睡,有一天在酷町堂上课被老师逮个正着,老师给他出了一个问题,“给定入睡时刻和醒来时刻(都采用24小时制表示法),计算自己一共睡了多长时间(也采用24小时制表示法)”,如果回答正确的话就可以免于惩罚,如果回答错误以后每次课都需要站着上课,且知道小C睡觉时间最少为1秒,最多为24小时。小C不想被惩罚,求助于你,请你帮他计算一下一共睡觉的时间。

输入描述 Input Description

输入为2行,第一行表示入睡时刻,第二行表示醒来时刻。
两者都采用24小时制“HH:MM:SS”的写法,其中“HH”表示时,范围为0~23、“MM”表示分,范围为0~59,“SS”表示秒,范围为0~59。且如果时、分、秒中有数字只有一位数,需要在前面加0来补齐两位。

输出描述 Output Description

输出为一行,表示一共睡了多长时间,输出格式也采用24小时制“HH:MM:SS”的写法,如果时、分、秒中有数字只有一位数,需要在前面加0来补齐两位。

样例输入 Sample Input

样例1#: 20:00:00 04:00:00 样例2#: 12:34:56 14:36:22

样例输出 Sample Output

样例1#: 08:00:00 样例2#: 02:01:26

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
using namespace std;
int main(){
    string a,b,ans=NULL;
    int t1,t2,t3,t4,t5,t6,t7=0,t8=0,t9=0;
    cin>>a>>b;
    t1=(int)(a[0]-48)*10+(int)(a[1]-48);
    t2=(int)(a[3]-48)*10+(int)(a[4]-48);
    t3=(int)(a[6]-48)*10+(int)(a[7]-48);
    t4=(int)(b[0]-48)*10+(int)(b[1]-48);
    t5=(int)(a[3]-48)*10+(int)(a[4]-48);
    t6=(int)(a[6]-48)*10+(int)(a[7]-48);
    if((t1>t4)||(t1==t4&&t2>t5)||(t1==t4&&t2==t5&&t3>t6)){
        t7+=24-t1+t4;
        t8+=60-t2+t5;
        t9+=60-t3+t6;
    }else{
        t7+=t4-t4;
        t8+=t5-t2;
        t9+=t6-t3;
    }
    if(t7<10){
        cout<<0<<t7<<":";
    }else{
        cout<<t7<<":";
    }if(t8<10){
        cout<<0<<t8<<":";
    }else{
        cout<<t8<<":";
    }if(t9<10){
        cout<<0<<t9;
    }else{
        cout<<t9;
    }
    return 0; 
}

 

高乐彤在2021-06-20 15:32:01追加了内容

ding!

高乐彤在2021-06-30 08:01:29追加了内容

ding

高乐彤在2021-07-04 21:14:59追加了内容

ding


0
已采纳
王一帆
王一帆
中级守护
中级守护

定义int的a,b,c,x,y,z,t1,t2,t,i,j,k和char的m
输入a,m,b,m,c,x,m,y,m,z
    t1=a*3600+b*60+c;
    t2=x*3600+y*60+z;
    如果(t2<=t1){
        t2+=24*3600;
    }
    t=t2-t1;
    i=t/3600;
    j=t%3600/60;
    k=t%60;
   

0
吴品睿
吴品睿
高级守护
高级守护

0fen

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0
0
0
李玥仑
李玥仑
中级光能
中级光能

不会就问老师啊

何苦费这20个豆子呢

0
0
0
王一帆
王一帆
中级守护
中级守护

如果(i<10){
        输出"0";
    }
    输出i和":";
    如果(j<10){
        输出"0";
    }
    输出j和":";
    如果(k<10){
        输出"0";
    }
    输出k

0
我要回答