当天的第几秒

当天的第几秒

GESP一级模拟练习,时间相关的处理和计算方法。

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

题目要求

描述

小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?

输入

输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母’A’表示上午,大写字母’P’表示下午。

输出

输出一行,包含一个整数,表示输入时刻是当天的第几秒。

输入样例-1

0 0 0 A

输出样例-1

0

输入样例-2

11 59 59 P

输出样例-2

86399


题目分析

  1. 时间单位的换算:

    • 1小时 = 3600秒
    • 1分钟 = 60秒
    • 秒数不做转换。
  2. 判断是上午还是下午:

    • 如果是上午 (A),直接根据给定的时、分、秒来计算当天的秒数。
    • 如果是下午 (P),则要将小时数加上12。

示例代码

#include <iostream>
using namespace std;
int main() {
    int a, b, c;
    char d;
    cin >> a >> b >> c >> d;
    if (d == 'A') {
        cout << a * 3600 + b * 60 + c;
    }
    if (d == 'P') {
        cout << (a + 12) * 3600 + b * 60 + c;
    }
    return 0;
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on