当前位置:网站首页>习题9-1 时间换算 (15 分)

习题9-1 时间换算 (15 分)

2022-06-11 22:19:00 小言同学Y

本题要求编写程序,以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>

struct time{
    int hour;
    int minute;
    int second;
};

int main(){
    struct time t;
    int sec,t1;
    scanf("%d:%d:%d",&t.hour,&t.minute,&t.second);
    scanf("%d",&sec);
    t1=sec+t.second;
    if(t1>=60){               //秒钟大于等于60,向前进位
        t.second=t1-60;
        t.minute++;
        if(t.minute>=60){          //分钟大于等于60,向前进位
            t.minute=t.minute-60;
            t.hour++;
            if(t.hour>=24){
                t.hour-=24;
            }
        }
    }else{
        t.second=t1;
    }
    printf("%02d:%02d:%02d",t.hour,t.minute,t.second);
}

 总结:

  • 此题只要清楚时钟、分钟、秒种之间进位的问题,就可以很容易解决;
  • 注意输出格式的问题,用“%02d”的格式来输出。
原网站

版权声明
本文为[小言同学Y]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_50925590/article/details/121165803