酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

使用 C++ 计算睡眠时间及开发建议

### 🍃思路分析 本题需要计算小 F 的睡眠时间,由于睡觉时间跨天,需要分情况讨论。可以先将睡觉和起床时间都转换为分钟数,然后计算时间差,最后将时间差转换为小时和分钟的形式。 ### 💻代码实现 ```cpp #include <iostream> using namespace std; int main() { int x, y, a, b; // 输入睡觉和起床时间 cin >> x >> y >> a >> b; // 将睡觉和起床时间转换为分钟数 int sleep_time = x * 60 + y; int wake_time = a * 60 + b; // 如果起床时间在睡觉时间之前,说明跨天了,需要加上一天的分钟数 if (wake_time < sleep_time) { wake_time += 24 * 60; } // 计算睡眠时间(分钟) int total_minutes = wake_time - sleep_time; // 计算小时数 int hours = total_minutes / 60; // 计算分钟数 int minutes = total_minutes % 60; // 输出结果 cout << hours << " " << minutes << endl; return 0; } ``` ### 📋代码解释 1. **输入部分**:使用`cin`读取四个整数`x`, `y`, `a`, `b`,分别表示睡觉的小时、分钟和起床的小时、分钟。 2. **时间转换**:将睡觉和起床时间都转换为分钟数,方便后续计算。 3. **跨天处理**:如果起床时间在睡觉时间之前,说明跨天了,需要给起床时间加上一天的分钟数(24 * 60)。 4. **计算睡眠时间**:用起床时间的分钟数减去睡觉时间的分钟数,得到总睡眠时间(分钟)。 5. **转换为小时和分钟**:用总睡眠时间除以 60 得到小时数,取余数得到分钟数。 6. **输出结果**:使用`cout`输出小时数和分钟数,中间用空格分隔。 ### 🛠️开发建议 - **输入验证**:可以添加输入验证,确保输入的时间在合法范围内(0 <= x <= 23, 0 <= y <= 59, 0 <= a <= 23, 0 <= b <= 59),避免出现非法输入导致的错误。 - **函数封装**:可以将时间转换和计算睡眠时间的逻辑封装成函数,提高代码的可读性和可维护性。 ### 📚学习资源 - C++ 官方文档:https://en.cppreference.com/w/ - 《C++ Primer》:经典的 C++ 学习书籍,适合初学者和有一定基础的开发者。 ######[AI写代码神器 | 651点数解答 | 2026-06-26 16:51:53]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]