1 条题解

  • 0
    @ 2025-8-24 22:20:59

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar wuyonghuming
    **

    搬运于2025-08-24 22:20:59,当前版本为作者最后更新于2020-04-23 09:47:41,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    思路:

    11.算出两个时间分别是一天的第几秒.

    22.比较这两个时间的大小.

    33.如果第一个时间大,说明到了第二天,拿第二个时间加上一天的秒数减去第一天的时间,否则直接拿第二天减去第一天.

    44.输出,如果小于1010,前面加上00.

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    void hanshu(int t)
    {
    	if(t<36000)//判断是否有10小时
    		cout<<0;//没有就补上0
    	cout<<t/3600<<':';//输出几个小时
    	t%=3600;//取余,去掉小时后剩下多少秒
    	if(t<600)//判断是否有10分钟
    		cout<<0;//没有就补上0
    	cout<<t/60<<':';//输出几分钟
    	t%=60;//取余,去掉分钟后剩下多少秒
    	if(t<10)//判断是否有10秒
    		cout<<0;//没有就补上0
    	cout<<t;//输出多少秒
    }
    int main()
    {
    	int a,b,c,d,e,f,t1,t2;//a,b,c,d,e,f是用来记录时间
    	char g;//这个变量用来处理:
    	cin>>a>>g>>b>>g>>c;//输入开始时间
    	cin>>d>>g>>e>>g>>f;//输入结束时间
    	t1=a*3600+b*60+c;//计算开始时间是当天的第几秒
    	t2=d*3600+e*60+f;//计算结束时间是当天的第几秒
    	if(t1<t2)//如果这是在同一天
    		hanshu(t2-t1);//直接计算
    	else//如果不是在同一天
    		hanshu(t2+86400-t1);//加上一天的秒数计算
        return 0;//别忘了
    }
    
    

    谢谢观看!

    • 1

    信息

    ID
    5475
    时间
    1000ms
    内存
    32MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者