zoukankan      html  css  js  c++  java
  • 习题9-1 时间换算

    本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

    输入格式:

    输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n<60)。

    输出格式:

    输出在一行中给出hh:mm:ss格式的结果时间。

    输入样例:

    11:59:40
    30
    
     

    输出样例:

    12:00:10

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 #include<math.h>
     5 int main() {
     6     int hour = 0, min = 0, second = 0;
     7     int n = 0;                                        //整秒数
     8     int k = 0;                                    //k是临时变量
     9     scanf("%d:%d:%d", &hour, &min, &second);
    10     scanf("%d", &n);
    11     if (second + n >= 60) {                            //如果原来的秒加上n>60 则进入判断
    12         k = (second + n) / 60;                //此处考虑的是,如果n>60呢,可能存在2秒的情况,下同
    13         second = (second + n) % 60;
    14         min = min + k;
    15         if (min >= 60) {
    16             k = min / 60;
    17             min = min % 60;
    18             hour = hour + k;
    19             if (hour >= 24) {
    20                 k = hour / 24;
    21                 hour = hour - 24*k;
    22             }
    23         }
    24 
    25 
    26     }
    27     else {                            //如果原来的n加上秒小于60,则直接输出
    28         second += n;
    29     }
    30 
    31     if (hour < 10) {                //因为时间输出要两位数,所以此处用判断
    32         printf("0%d:", hour);
    33     }
    34     else {
    35         printf("%d:", hour);
    36     }
    37     
    38     if (min < 10) {
    39         printf("0%d:", min);
    40     }
    41     else {
    42         printf("%d:", min);
    43     }
    44     if (second < 10) {
    45         printf("0%d", second);
    46     }
    47     else{
    48         printf("%d", second);
    49     }
    50     return 0;
    51 }

    这个题目很简单,是我考虑复杂了,(我考虑n可能存在>60的情况)我觉得还是要按照现实来,注释已经非常清楚啦!

  • 相关阅读:
    MYSQL性能优化的最佳20+条经验
    MySQL性能分析工具之PROFILE
    理解事务的4种隔离级别
    二进制中1的个数
    滑动窗口最大值
    字符流中第一个不重复字符
    字符串转化为整数
    java字符,字符串,数字之间的转换
    java中数组输出的方式
    java基础知识(1)
  • 原文地址:https://www.cnblogs.com/KeithTee/p/13842952.html
Copyright © 2011-2022 走看看