B3847 [GESP样题 一级] 当天的第几秒

· · 题解

欢迎大家报名洛谷网校的课程,期待和大家一起进步!

:::align{center} :::

思路分析

首先需要读入时,分,秒以及一个大写字母。使用 cin 读入可以忽略大写字母前面的空格。然后将时间转换为 24 小时制。例如,下午 1 点转化为 13 点。

最后,计算给定的时刻是这一天的第几秒。x 时,yz 秒为这一天的 x\times 60\times 60 + y \times 60 + z

核心代码

变量定义与读入:

使用 cin 读入字符时,可忽略空格。

int shi, fen ,miao; // 时,分,秒
char C;
cin >> shi >> fen >> miao >> C;//读入时,分,秒以及一个大写字母 

计算并输出给定的时刻是这一天的第几秒:

if (C == 'P')
    shi = shi + 12; // 转成24小时制
cout << shi * 60 * 60 + fen * 60 + miao;