#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补齐
代码之路还很长,继续坚持✊