C 语言实现天梯图书阅览室借阅统计:含输入处理、跨零点计时及内存优化
```c #include <stdio.h> #include <stdlib.h> typedef struct { int bookNumber; int startTimeHour; int startTimeMinute; int endTimeHour; int endTimeMinute; int isBorrowed; } BookRecord; int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { BookRecord records[1000]; int recordCount = 0; int borrowCount = 0; int totalReadTime = 0; while (1) { int bookNumber; char key; int hour, minute; scanf("%d %c %d:%d", &bookNumber, &key, &hour, &minute); if (bookNumber == 0) { break; } if (key =='s') { records[recordCount].bookNumber = bookNumber; records[recordCount].startTimeHour = hour; records[recordCount].startTimeMinute = minute; records[recordCount].isBorrowed = 1; recordCount++; } else if (key == 'e') { int found = 0; for (int j = 0; j < recordCount; j++) { if (records[j].bookNumber == bookNumber && records[j].isBorrowed == 1) { records[j].endTimeHour = hour; records[j].endTimeMinute = minute; records[j].isBorrowed = 0; found = 1; int startTimeInMinutes = records[j].startTimeHour * 60 + records[j].startTimeMinute; int endTimeInMinutes = hour * 60 + minute; totalReadTime += endTimeInMinutes - startTimeInMinutes; borrowCount++; break; } } if (!found) { continue; } } } printf("%d %d\n", borrowCount, totalReadTime / borrowCount); } return 0; } ``` 额外需要注意的逻辑点: 1. 处理输入数据时,要确保格式的正确性,避免因输入错误导致程序异常。 2. 对于借阅和归还时间的计算,要考虑时间跨越 0 点的情况。 3. 程序中的数组大小要根据实际需求合理设置,避免内存溢出。 ######[AI写代码神器 | 581点数解答 | 2024-12-02 19:37:43]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)345
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)461
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)265
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)313
- 解析React 15与Vue 2:从O(n^3)到O(n),Diff算法时间复杂度计算及性能对比 (阿里通义 | 379点数解答 | 2023-11-09 01:49:19)335
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)241
- 精准优化:明确需求,开启高效提升之旅! (字节豆包 | 52点数解答 | 2026-02-09 16:44:46)38
- 代码再升级:优化版“获取dump”代码,多机制保障数据读取与保存(字节豆包 | 734点数解答 | 2026-02-10 01:23:31)68
- 代码深度优化:全面检查异常、灵活读取内存,提升可读性与可维护性(字节豆包 | 959点数解答 | 2026-02-10 01:24:14)34
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)278
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)357
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)371