天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下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:16
0 S 17:00
0 S 17:00
3 E 08:10
1 S 08:20
2 S 09:00
1 E 09:20
0 E 17:00

输出样例:

2 196
0 0
1 60

思路: 这道题目难度不大,就是模拟图书借阅过程,还书成功时,记录时间次数即可。我在做这道题目的时候是因为最后输出的时候,关于进位出错了。 我用的时第二行的输出,但是就是报错,使用第一行的就通过,如果哪位朋友可以解答以下,烦请指正。

         //正确cout << count << " " << (int)(1.0*sum/count + 0.5) << endl;//错误//cout << count << " " << ceil(1.0*sum/count) << endl;
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;struct Book{char key = 'N';int hh = 0;int mm = 0;
}book[1005];int calculate(int h1,int m1, int h2,int m2);int main(){int n;cin >> n;for(int i = 0; i < n; i++){int sum = 0;int count = 0;while(true){int id;char key,punctuation;int h,m;cin >> id >> key >> h >> punctuation >> m;if(id == 0)break;//还书时应注意情况if(key =='E'){if(book[id].key == 'E' || book[id].key=='N')continue;}if(key == 'E' && book[id].key == 'S'){//还书成功,那么就计算时间啦count++;int time = calculate(book[id].hh,book[id].mm, h, m);sum += time;}//更新书本信息 book[id].key = key;book[id].hh = h;book[id].mm = m;}if(count){//正确cout << count << " " << (int)(1.0*sum/count + 0.5) << endl;//错误//cout << count << " " << ceil(1.0*sum/count) << endl;}else{cout <<"0 0\n";}  }return 0;
}
int calculate(int h1,int m1, int h2,int m2){return h2*60+m2 - h1*60-m1;
}

7-8 阅览室 (20 point(s))相关推荐

  1. L1-043 阅览室 (20 分)(在线模拟题)

    L1-043 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为 ...

  2. 7-183 阅览室 (20 分)

    7-183 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不 ...

  3. L1-043 阅览室 (20 分)andL1-048 矩阵A乘以B (15 分)

    L1-043 阅览室 (20 分) 题目: 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时 ...

  4. 7-8 阅览室 (20 分)

    7-8 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过 ...

  5. L1-043 阅览室 (20 分)——memset补充

    L1-043 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为 ...

  6. C语言 满分代码:L1-043 阅览室 (20分)(解题报告)

    立志用更少的代码做更高效的表达 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超 ...

  7. L1-043 阅览室 (20分)

    题目: 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数.当管 ...

  8. PTA 阅览室 (20 分) 精简版

    天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数.当管理员将0 ...

  9. 天梯赛 L1-043 阅览室 (20 分)

    只需要记录每本书借的时间,初始化为-1表示还未被借阅或者已经被还回来了 涉及除法分母必须分类讨论! #include <iostream> using namespace std; con ...

  10. L1-043 阅览室 (20 分) java

    分析 思路: 只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录. 2.1 S的话就让他直接借,记录下这本书的借出时间,因为此题是当天多次借同一本书,以最后一次借书时间为准: 2.2 ...

最新文章

  1. Nmap安装和扫描(二:Nmap基本操作)
  2. 荣耀7x Android8,荣耀8/畅玩7X确认升级安卓8.0
  3. JS获取请求URL相关参数
  4. 深度挖掘论文:《Semantic Soft Segmentation》(语义软分割)
  5. 20191104_1_相关性分析
  6. 千兆网卡为什么慢_宽带300M,光猫是千兆的,电脑网卡和无线路由器都是千兆的。但是速度仍是100M。这是为什么?...
  7. 物理课上该怎样使用计算机,物理课堂教学中怎样使用演示课件.doc
  8. java 随机数性能优化
  9. vjc机器人灰度怎么编程_求用vc++编程实现显示灰度直方图的详细步骤,越详细越好...
  10. JavaScript分割字符串
  11. 用Excel控件做动态图表
  12. 小刘同学的第一百二十二篇博文
  13. Zigbee应用之搭建开发环境
  14. 用户登录模块---Druid+JDBC+Servlet
  15. windows系统服务器怎么锁屏,使用Windows 8的十个小贴士:自定义锁屏
  16. 去除Multiple markers at this line - advised by提示
  17. uniapp 列表搜索模糊查询
  18. java画板小demo
  19. EMC——青青子衿,居易安信
  20. 成功解决 word2019设置背景色为护眼的绿色

热门文章

  1. Debian系、红帽系、Arch Linux系如何选择安装包
  2. TensorFlow中的优化算法
  3. 《An Attentive Survey of Attention Models》阅读笔记
  4. 异步是javascript的精髓
  5. Ubuntu下安装uwsgi报错的解决方案
  6. iOS UIStepper使用方法的总结
  7. itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
  8. mac pro制作iso系统光盘
  9. ZeroMQ之Request/Response (Java)
  10. CocoStudio创建动画帧