【GESP】C++一级模拟练习luogu-B3847,当天的第几秒
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。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#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;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权