1 solutions

  • 0
    @ 2024-8-13 22:19:11

    写在前面

    感谢您查看我的题解,针对本题,我认为可以分成两种情况讨论。编写不易,赞同一下,谢谢!

    解析

    明确题意

    首先要输入4行,第一行表示初始小时,第二行表示初始分钟,第三行表示结束小时,第三行表示结束分钟。我们应该输出过去的时间。先写出代码框架:

    #include <iostream>//导入头文件
    using namespace std;//声明命名空间
    
    int main(){
        int h1,m1,h2,m2;
        cin>>h1>>m1>>h2>>m2;//处理输入
      //剩下的代码,先放着,等会完善
        return 0;
    }
    

    1. 情况一

    第一种情况是初始小时结束小时相同,这种情况非常容易处理,只需要使用结束分钟-初始分钟即可。上代码:

    if (h1==h2){
        cout<<m2-m1<<endl;
    }
    

    2. 情况二

    另一种情况是初始小时结束小时不相同,我们可以先将它们的小时数换成一样的后使用结束分钟-初始分钟的方法。上代码:

    else{
        int tmp;
        tmp=(h2-h1)*60;//tmp用来存储秒加上的数字
        m2+=tmp;
        h2=h1;
        cout<<m2-m1<<endl;
    }
    

    完整代码

    #include <iostream>
    using namespace std;
    
    int main(){
        int h1,m1,h2,m2;
        cin>>h1>>m1>>h2>>m2;
        if (h1==h2){
            cout<<m2-m1<<endl;
        }
        else{
            int tmp;
            tmp=(h2-h1)*60;
            m2+=tmp;
            h2=h1;
            cout<<m2-m1<<endl;
        }
        return 0;
    }
    
    

    Information

    ID
    1162
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    # Submissions
    9
    Accepted
    7
    Uploaded By