本题要求编写程序,以 hh:mm:ss 的格式输出某给定时间再过 n 秒后的时间值(超过 23:59:59 就从 0 点开始计时)。
输入格式:
输入在第一行中以 hh:mm:ss 的格式给出起始时间,第二行给出整秒数 n(< 60)。
输出格式:
输出在一行中给出 hh:mm:ss 格式的结果时间。
输入样例:
11:59:40
30
输出样例:
12:00:10
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/564
提交:
题解:
#include<stdio.h>
int main(void) {
int hours, minutes, seconds, passSeconds;
scanf("%d:%d:%d", &hours, &minutes, &seconds);
scanf("%d", &passSeconds);
// 秒数大于等于 60s,分钟数自增 1,秒数减去 60
seconds += passSeconds;
if (seconds >= 60) {
minutes++;
seconds -= 60;
}
// 分钟数大于等于 60min,小时数自增 1,分钟数减去 60
if (minutes >= 60) {
hours++;
minutes -= 60;
}
// 如果到 24 点,则到 0 点
hours = hours == 24 ? 0 : hours;
// 以两位数输出,不足两位补零
printf("%02d:%02d:%02d\n", hours, minutes, seconds);
return 0;
}