#include <stdio.h>
#include <math.h>
int main() {
int h, m,k;
int H,M; //输出
scanf("%d:%d %d", &h, &m,&k);
if((0<=h&&h <=23) &&( 0<=m&&m <=59)&&(1<= k) &&(k<= pow(10,9))){
k=(k+m)+h*60;
M=k%60; //需要增加的分钟数
H=((k-M)/60)%24; //需要增加的小时,计算小时,因为不考虑日期,所以先计算得到总共多少小时,再对24取余,以防出现大于24的情况
printf("%02d:%02d\n",H,M);
}
return 0;
}
注意:
① 需要将本身的时间加上睡眠的时间,再取运算是几时几分,防止,本身时间很大,在最后相加输出是没有考虑进位和超过24小时自动恢复成零点。如果不事先相加,因为给的测试例子太少,可能会成功通过,可以自己将开始时间设置大一点试试。
② c语言中输出数字小于10时如何在前面补个零?
使用"%02d"格式化输出,即输出一个两位数的整数,并在前面补零。

京公网安备 11010502036488号