用C++实现:给出一个某一时刻的小时(H)和分钟(M),以分钟为单位计算,你知道上一分钟是几点几分吗?
时间: 2024-10-11 16:11:08 浏览: 16
在C++中,你可以通过一些简单的数学运算和条件判断来实现这个功能。假设给定的当前时间是H小时M分钟,那么上一分钟就是(H-1)小时(如果H不是0)或者(H)小时加上60(如果H是0,表示已经超过了一天)。为了得到具体的分钟数,你需要考虑M是否小于60,如果是,则直接减1;如果不是,说明已经到了下一小时,所以分钟数设为0,然后小时数加1并可能需要检查是否超过24小时。
下面是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
pair<int, int> previous_minute(int hour, int minute) {
if (hour == 0) { // 如果过了12小时
if (minute >= 59) {
hour = 23; // 转到前一天的最后一个小时
minute = 59;
} else {
minute++;
}
} else {
minute--;
if (minute < 0) { // 到了下个小时的第一分钟
minute = 59;
hour--;
if (hour < 0) {
hour = 23; // 超过一天的情况
}
}
}
return make_pair(hour, minute);
}
int main() {
int H, M;
cout << "请输入当前小时和分钟(例如:13 45):" << endl;
cin >> H >> M;
pair<int, int> prev_minute = previous_minute(H, M);
cout << "上一分钟是 " << prev_minute.first << ":" << prev_minute.second << " 分钟." << endl;
return 0;
}
```
阅读全文