本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。
输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。
输入样例:
11:59:40
30
输出样例:
12:00:10
#include <stdio.h> int main() { int h = 0,min = 0, sec = 0; scanf("%d:%d:%d",&h,&min,&sec); int n; scanf("%d",&n); int addmin = 0; int addsec = 0; if(n < 60) { if(n + sec >= 60) { min++; sec = sec+n-60; if(min >= 60) { h++; min = min-60; if(h >= 24) h = h-24; } }else{ sec = n+sec; } }else if(n >= 60){ addmin = n / 60; addsec = n % 60; if(sec + addsec >=60){ min++; sec = sec+addsec-60; if(min+addmin >= 60){ h++; min = min+addmin-60; if(h >= 24) h = h-24; } } } printf("%02d:%02d:%02d",h,min,sec); //。。。%02d 就实现了下面所有行的功能 // int time[3] = {0}; // time[0] = h; // time[1] = min; // time[2] = sec; // for(int i = 0; i < 3; i++){ // if(time[i]==0) // printf("00"); // else if(time[i] < 10){ // printf("0"); // printf("%d",time[i]); // }else{ // printf("%d",time[i]); // } // if(i < 2) // printf(":"); // } return 0; }
本文档详细介绍了如何编写一个C语言程序,根据给定的起始时间(hh:mm:ss格式)和秒数n,计算并输出经过n秒后的精确时间,同时确保时间不会超出一天范围。通过示例和代码实现,帮助读者理解时间计算的基本逻辑和边界处理。
714

被折叠的 条评论
为什么被折叠?



