当天的第几秒
GESP一级模拟练习,时间相关的处理和计算方法。
luogu-B3847 [GESP样题 一级] 当天的第几秒
题目要求
描述
小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?
输入
输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母’A’表示上午,大写字母’P’表示下午。
输出
输出一行,包含一个整数,表示输入时刻是当天的第几秒。
输入样例-1
0 0 0 A
输出样例-1
0
输入样例-2
11 59 59 P
输出样例-2
86399
题目分析
时间单位的换算:
- 1小时 = 3600秒
- 1分钟 = 60秒
- 秒数不做转换。
判断是上午还是下午:
- 如果是上午 (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 认证学习微信公众号

Last updated on