天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下s键,程序开始计时;当读者还书时,管理员输入书号并按下e键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。 注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有s没有e,或者只有e没有s的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。 输入格式: 输入在第一行给出一个正整数n(≤10),随后给出n天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为: 书号([1, 1000]内的整数) 键值(s或e) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数) 每一天的纪录保证按时间递增的顺序给出。 输出格式: 对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。 输入样例: 3 1 s 08:10 2 s 08:35 1 e 10:00 2 e 1。使用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. 程序中的数组大小要根据实际需求合理设置,避免内存溢出。 [2024-12-02 19:37:43 | AI写代码神器 | 581点数解答]
- 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下s键,程序开始计时;当读者还书时,管理员输入书号并按下e键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。 注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有s没有e,或者只有e没有s的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。 输入格式: 输入在第一行给出一个正整数n(≤10),随后给出n天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为: 书号([1, 1000]内的整数) 键值(s或e) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数) 每一天的纪录保证按时间递增的顺序给出。 输出格式: 对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。 输入样例: 3 1 s 08:10 2 s 08:35 1 e 10:00 2 e 1(395点数解答 | 2024-11-30 10:47:03)161
- c语言天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下s键,程序开始计时;当读者还书时,管理员输入书号并按下e键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。 注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有s没有e,或者只有e没有s的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。 输入格式: 输入在第一行给出一个正整数n(≤10),随后给出n天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为: 书号([1, 1000]内的整数) 键值(s或e) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数) 每一天的纪录保证按时间递增的顺序给出。 输出格式: 对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。 输入样例: 3 1 s 08:10 2 s 08:35 1 e 10:00 2 e 13:(590点数解答 | 2024-11-30 10:47:49)208
- 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下s键,程序开始计时;当读者还书时,管理员输入书号并按下e键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。 注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有s没有e,或者只有e没有s的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。 输入格式: 输入在第一行给出一个正整数n(≤10),随后给出n天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为: 书号([1, 1000]内的整数) 键值(s或e) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数) 每一天的纪录保证按时间递增的顺序给出。 输出格式: 对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。 输入样例: 3 1 s 08:10 2 s 08:35 1 e 10:00 2 e 1。使用c语(581点数解答 | 2024-12-02 19:37:43)132
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(693点数解答 | 2025-08-07 10:56:54)58
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(432点数解答 | 2025-08-07 10:58:12)45
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(964点数解答 | 2025-08-11 16:27:09)44
- 在 dev-c++上面 定义一个包含图书信息(书号、书名、价格)的链表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最佳位置的序号,查找该位置上的图书,输出相应图书的信息。 输入 总计n+m+2行。首先输入n+1行,其中,第一行是图书数目n,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空 格。其中书号和书名为字符串类型,价格为浮点数类型。然后输入m+1行,其中,第一行是一个整数m,代表查找m次,后m行每行内容为,个整数,代表待查找的图书的位置序号。 输出 输出m行 若查找成功: 输出内容为第谈次查询的指定位置上的一本图书的信息(书号、书名、价格),书号、书名、价格用空格分隔,其中价格输出保留两位小数。 若查找失败:只输 出以下提示:抱歉,最住位置上的图书不存在! 样例输入复制 8 9787302257646 data-structure 35.00 9787302164340 operating- system 50.00 9787302219972 software-engineer 32.00 97873022(1650点数解答 | 2024-12-18 09:04:49)251
- 在 dev-c++上面 定义一个包含图书信息(书号、书名、价格)的链表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最佳位置的序号,查找该位置上的图书,输出相应图书的信息。 输入 总计n+m+2行。首先输入n+1行,其中,第一行是图书数目n,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空 格。其中书号和书名为字符串类型,价格为浮点数类型。然后输入m+1行,其中,第一行是一个整数m,代表查找m次,后m行每行内容为,个整数,代表待查找的图书的位置序号。 输出 输出m行 若查找成功: 输出内容为第谈次查询的指定位置上的一本图书的信息(书号、书名、价格),书号、书名、价格用空格分隔,其中价格输出保留两位小数。 若查找失败:只输 出以下提示:抱歉,最住位置上的图书不存在! 样例输入复制 8 9787302257646 data-structure 35.00 9787302164340 operating- system 50.00 9787302219972 software-engineer 32.00 97873022(1823点数解答 | 2024-12-18 09:04:51)227
- 定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信 息表的创建,然后根据指定的最爱图书的名字,查找最爱的图书,输出相应图书的信息。 1)输入 总计 n+m+2 行。首先输入 n+1 行,其中,第一行是图书数目 n,后 n 行是 n 本图书的信息 (书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没 有空格。其中书号和书名为字符串类型,价格为浮点数类型。然后输入 m+1 行,其中,第 一行是一个整数 m,代表查找 m 次,后 m 行是每次待查找的最爱图书名字。 2)输出 若查找成功: 总计输出 m*(k+1)行,对于每一次查找,第一行是最爱图书数目(同一书名的图书可能有 多本),后 k 行是最爱图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、 价格用空格分隔,其中价格输出保留两位小数。 若查找失败: 只输出以下提示:抱歉,没有你的最爱! 出题范围:小学1年级 题型:试卷一套 出题:5道 总分:100分(386点数解答 | 2024-12-19 17:17:01)263
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(385点数解答 | 2025-01-08 03:43:54)245
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(346点数解答 | 2025-01-08 03:46:29)245
- select distinct t.id_card,t.`start`,t.`end` from ((select distinct(person_name), id_card , date_format( curdate(), "%y-%m-%d 00:00:00" ) start , date_format( curdate(), "%y-%m-%d 23:59:59" ) end, '1' ordertype, '-1' pass from t_contractor_people where person_name in ( select distinct ( b.executor ) from t_task_work_order a left join t_task_work_person b on a.sheet_id = b.hot_work_id where a.valid = '1' and a.work_start_time > date_format( curdate(), "%y-%m-%d 00:00:00(342点数解答 | 2024-12-05 12:31:57)130