酷代码 AI
菜单
服务商

题目描述 小 X 的闹钟设定在了 h1​:m1​:s1​ 这个时刻(24 小时制),在设定完闹钟之后,小 X 就去睡觉去了。因为小 X 最近非常劳累,所以直到闹钟响之前,小 X 是绝对不会醒来的。现在,已知小 X 睡觉时间是 h2​:m2​:s2​ 这个时刻,小 X 想知道在闹钟把他闹醒的时候,他一共睡了多久。(闹钟每天都会响,到了第二天,时间会重置回 00:00:00) 输入格式 第一行三个整数 h1,m1,s1表示闹钟响的时刻。 第二行三个整数 h2,m2,s2表示小 X 睡觉的时刻。 输出格式 一行用空格隔开的三个整数 h,m,s,表示小 X 一共睡了 h 小时 m 分钟 s 秒。 输入样例1 19 0 0 8 30 0 输出样例1 10 30 0 输入样例2 8 30 0 19 0 0 输出样例2 13 30 0 说明/提示 用c++

```cpp #include <iostream> using namespace std; int main() { int h1, m1, s1; int h2, m2, s2; // 输入闹钟响的时刻 cin >> h1 >> m1 >> s1; // 输入睡觉的时刻 cin >> h2 >> m2 >> s2; // 将时刻都转换为秒 int totalSeconds1 = h1 * 3600 + m1 * 60 + s1; int totalSeconds2 = h2 * 3600 + m2 * 60 + s2; int sleepSeconds; // 判断是否跨天 if (totalSeconds1 >= totalSeconds2) { sleepSeconds = totalSeconds1 - totalSeconds2; } else { sleepSeconds = 24 * 3600 - totalSeconds2 + totalSeconds1; } // 计算小时、分钟和秒 int h = sleepSeconds / 3600; int m = (sleepSeconds % 3600) / 60; int s = sleepSeconds % 60; // 输出结果 cout << h << " " << m << " " << s << endl; return 0; } ``` 代码解释: 1. 输入处理:通过`cin`读取闹钟响的时刻`h1, m1, s1`和睡觉的时刻`h2, m2, s2`。 2. 转换为秒:将时刻转换为秒,便于计算。`totalSeconds1`表示闹钟响的时刻对应的总秒数,`totalSeconds2`表示睡觉时刻对应的总秒数。 3. 计算睡觉总秒数:判断是否跨天,如果闹钟响的时刻晚于睡觉时刻,直接相减;否则,需要加上一天的秒数。 4. 计算小时、分钟和秒:通过除法和取模运算,将总秒数转换为小时、分钟和秒。 5. 输出结果:将计算得到的小时、分钟和秒输出。 [2025-11-10 18:42:04 | AI问答 | 488点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多