习题9-1 时间换算 (15 分)
本题要求编写程序,以hh:mm:ss
的格式输出某给定时间再过n
秒后的时间值(超过23:59:59就从0点开始计时)。
输入格式:
输入在第一行中以hh:mm:ss
的格式给出起始时间,第二行给出整秒数n
(<60)。
输出格式:
输出在一行中给出hh:mm:ss
格式的结果时间。
输入样例:
11:59:40
30
输出样例:
12:00:10
细节:
%d是普通的输出
%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
%02d,输出两位,不足两位的左边补0
%.2d执行效果和%02d一样
代码:
#include<stdio.h>
struct time{
int hour;
int minute;
int second;
};
int main()
{
struct time time_1;
int n;
scanf("%d:%d:%d",&time_1.hour,&time_1.minute,&time_1.second);
scanf("%d",&n);
time_1.second = time_1.second + n;
if(time_1.second >= 60){
time_1.second = time_1.second % 60;
time_1.minute = time_1.minute + 1;
if(time_1.minute >= 60){
time_1.hour = time_1.hour + 1;
time_1.minute = time_1.minute % 60;
if(time_1.hour >= 24) time_1.hour = time_1.hour % 24;
}
}
printf("%02d:%02d:%02d\n",time_1.hour,time_1.minute,time_1.second);
}