B4340 [语言月赛 202506] 车站时钟 题解

· · 题解

Source & Knowledge

2025 年 6 月语言月赛,由洛谷网校入门计划/基础计划提供。

题目大意

一天有 24 小时,每小时有 60 分钟。现在给出从零点(00:00)开始经过了多少分钟,请你把这时候的时间用时钟的样子画出来:比如 |0|1|:|0|0| 就代表 01:00。

题目分析

题目核心难点在“分钟—时钟”转换。我们可以按照以下思路完成这道题目。

  1. 把分钟数换成小时和分钟: 用 x / 60 算出多少小时,x % 60 算出还剩多少分钟。
  2. 让数字变成两位数: 比如说 1 要变成 01,3 要变成 03。我们可以先拿到十位和个位:
    • 十位:h / 10
    • 个位:h % 10 同样的方法也可以算出分钟的十位和个位。
  3. 按照要求格式拼接: 得到两个两位数后,将这些数字加上 |: 拼在一起即可。

核心代码片段

int h = x / 60, m = x % 60;
cout << "|" << h / 10 << "|" << h % 10 << "|:|" << m / 10 << "|" << m % 10 << "|";