本题要求编写程序,以hh:mm:ss
的格式输出某给定时间再过n秒后的时间值(超过23:59:59
就从0
点开始计时)。
输入格式:
输入在第一行中以hh:mm:ss
的格式给出起始时间,第二行给出整秒数n(<60)
。
输出格式:
输出在一行中给出hh:mm:ss
格式的结果时间。
输入样例:
11:59:40
30
输出样例:
12:00:10
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
struct time /*定义结构表示时间*/
{
int hour;
int minute;
int second;
}time1;
int main(void)
{
int s; /*定义变量s用于保存输入的时间变量*/
// printf("Enter a time:");
scanf("%d:%d:%d", &time1.hour, &time1.minute, &time1.second); /*输入一个时间*/
// printf("Enter a s:");
scanf("%d", &s);/*输入过了多少秒*/
time1.second += s;
if (time1.second >= 60) {/*如果超过60s,则进1 min*/
time1.minute += time1.second / 60;
time1.second = time1.second % 60;
}
if (time1.minute >= 60) {/*如果超过60min,则进1小时*/
time1.hour += time1.minute / 60;
time1.minute = time1.minute % 60;
}
if (time1.hour >= 24) {/*如果时间超过24hour,则取余*/
time1.hour = time1.hour % 24;
}
printf("%02d:%02d:%02d", time1.hour, time1.minute, time1.second); /*输出,注意两位,不足两位补零*/
return 0;
}