PTA然后是几点

博主分享了一段代码,讲述如何使用巧妙的方法将输入的时间数据拆分,并避免了早期的繁琐数组实现。通过firsttwo=starttime/100;lasttwo=starttime%100;这一技巧,实现了快速时间转换,突显了代码效率的提升。
摘要由CSDN通过智能技术生成
#include <iostream>
using namespace std;
int main()
{
    int firsttwo,lasttwo,starttime,minus,minus1,hour1;
    scanf("%d %d",&starttime,&minus);
    firsttwo = starttime/100;
    lasttwo = starttime%100;
    if(minus>0)
    {
        firsttwo = firsttwo+(lasttwo+minus)/60;
        lasttwo = (lasttwo+minus)%60;
        printf("%d%02d",firsttwo,lasttwo);
    }
    else
    {
        hour1=-1*minus/60;
        minus1=-1*minus%60;
        if(lasttwo<minus1)
        {
            lasttwo = lasttwo+60-minus1;
            firsttwo = firsttwo-1-hour1;
            printf("%d%02d",firsttwo,lasttwo);
        }
        else
        {
            lasttwo = lasttwo-minus1;
            firsttwo = firsttwo-hour1;
            printf("%d%02d",firsttwo,lasttwo);
        }
    }
}

一开始没有思考利用简单的代码实现,后来越实现到后面就越复杂,后来看到网上大佬写的,简简单单几句就没了。思路没有错,但是我一开始没有想到如何把输入的时间数据分成前后两个部分,反而第一反应是用数组实现,所以就很麻烦。看到网上的代码后,用firsttwo = starttime/100; lasttwo = starttime%100;一下子就顺手很多。
对了,%2d和%02d不一样哦~一个用空格补齐,一个是用0补齐
代码之路还很长,继续坚持✊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值