zoukankan      html  css  js  c++  java
  • 题目-计算火车运行时间

    题目-计算火车运行时间

    根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

    输入格式

    输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

    输出格式

    在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

    输入样例
    1201  1530

    输出样例

    03:29

    分析细节

    输入的4位正整数 a、b 需要分离成两个部分:小时数 hh = a / 100,分钟数 mm = b % 100

    小时与分钟是不同的单位,1小时 = 60分钟,不同于常规的十进制计算,先把全部时间转化为以分钟为单位进行计算得出结果,再转化成输出格式

      这种大单位化小单位的统一单位计算方式不需要考虑当到达分钟数小于出发分钟数时的借位问题

    4位正整数转化为分钟数 = 小时数 X 60 + 分钟数 = hh * 60 + mm

    旅途所用时间 Time = 到达时间 - 出发时间 ,以分钟为单位

    计算结果转化成输出格式:(Time / 60):(Time % 60)

    输出的小时数/分钟数的两位数不足十的时候用零来补齐前面空余的数位:

      使用包含于头文件 #include<iomanip> 的 setw()设置宽度 + setfill()设置填充字符

    输出格式中的 “:”为英文字符,非中文冒号

    代码

     1 #include<iostream>
     2 #include<iomanip>
     3 using namespace std;
     4 int main()
     5 {
     6     int a,b;
     7     cin >> a >> b;
     8     int hh1, hh2, mm1, mm2;
     9     hh1 = a/100;
    10     hh2 = b/100;
    11     mm1 = a%100;
    12     mm2 = b%100;
    13     int time, hh, mm;
    14     time = (hh2*60+mm2)-(hh1*60+mm1);
    15     hh = time/60;
    16     mm = time%60;
    17     cout << setw(2) << setfill('0') << hh << ":" << setw(2) << setfill('0') << mm << endl;
    18     return 0;
    19 }
  • 相关阅读:
    JS: 子项可以来回交换的两个下拉列表
    DOM事件
    DOM基础2——元素
    DOM基础1
    JS: 随机点名程序与万年历
    G_S男女匹配算法(算法的第一个程序2016.09.19)
    Java IO流详尽解析(大神之作)
    细讲解JAVA中的IO流
    c++运算符的优先级(收好不谢)
    java程序——输出当月日历表
  • 原文地址:https://www.cnblogs.com/yuanchuying/p/14750667.html
Copyright © 2011-2022 走看看