L1-043:阅览室

2023-12-15 22:20
文章标签 l1 043 阅览室

本文主要是介绍L1-043:阅览室,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。

注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。


输入格式:

输入在第一行给出一个正整数N(≤10),随后给出N天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为:

书号([1, 1000]内的整数) 键值SE) 发生时间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

程序代码

#include<iostream>
using namespace std;
int main()
{int N;cin>>N;int num=0;//统计次数double sum=0;//平均时间int booknum[1001]={0};//记录书号int hour1[1001]={0},min1[1001]={0};//记录借书时间int hour2[1001]={0},min2[1001]={0};//记录还书时间int i=1;while(i<=N)//巧妙利用while循环{int a,x,y;//a为书号,x,y分别为借书时间的小时位和分钟位char key;//管理员按下的键值scanf("%d %c %d:%d",&a,&key,&x,&y);if(a==0){i++;if(sum==0)printf("0 0\n");elseprintf("%d %.0lf\n",num,sum/num);//当天的数据统计完后,时间和次数都要清零sum=0;num=0;continue;//跳出本次循环}if(key=='S'){hour1[a]=x;min1[a]=y;booknum[a]=1;}if(key=='E'&&booknum[a]!=0){hour2[a]=x;min2[a]=y;booknum[a]=0;num++;sum+=(hour2[a]-hour1[a])*60+(min2[a]-min1[a]);//计算一下该书借的总时间}}return 0;
}

运行结果

这篇关于L1-043:阅览室的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498119

相关文章

【机器学习 sklearn】模型正则化L1-Lasso,L2-Ridge

#coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timestart_time = time.time()import pandas as pd# 输入训练样本的特征以及目标值,分别存储在变量X_train与y_train之中。

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。  实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中文使用手册,可以指导他如何处理中文符号。当外面的中文母语者通过一个小窗口传递给房间里的人一些用中文写的问题时,房间里的人能够依

【Python机器学习】核心数、进程、线程、超线程、L1、L2、L3级缓存

如何知道自己电脑的CPU是几核的,打开任务管理器(同时按下:Esc键、SHIFT键、CTRL键) 然后,点击任务管理器左上角的性能选项,观察右下角中的内核:后面的数字,就是你CPU的核心数,下图中我的是16个核心的。 需要注意的是,下面的逻辑处理器:32 表示支持 32 线程(即超线程技术) 图中的进程:和线程:后面的数字代表什么 在你上传的图片中,“进程:180” 和 “线程:3251”

Python 3.6 api-ms-win-crt-runtime-l1-1-0.dll丢失

问题: Python 3.6安装或者运行时出现丢失api-ms-win-crt-runtime-l1-1-0.dll异常: 解决办法: 下载安装VC运行库即可。 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True 点击

PTA L1-037 A除以B

L1-037 A除以B(10分) 真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。 输入格式: 输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。 输出格式: 在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商

【Arm Cortex-X925】 -【第七章】-L1 指令内存系统

7. L1 指令内存系统 Cortex-X925 核心的 L1 指令内存系统负责提取指令和预测分支。它包括 L1 指令缓存和 L1 指令转换后备缓冲区 (TLB)。L1 指令内存系统向解码器提供指令流。为了提高整体性能和降低功耗,L1 指令内存系统采用了动态分支预测和指令缓存技术。 下表显示了 L1 指令内存系统的特点。 注意 L1 指令 TLB 也位于 L1 指令内存系统中。然而,它是

c++ int n1 = l1 ? l1 ->val:0;三元运算符语句解释

这行 C++ 代码 int n1 = l1 ? l1->val : 0; 使用了三元运算符(也称为条件运算符),其基本语法是: condition ? expression_if_true : expression_if_false; 代码解析 条件判断: l1 是一个指针或对象。三元运算符的条件部分是 l1,这表示如果 l1 指向有效的对象(即 l1 不为 nullptr),条件为真;

final_封装_多态_servletJAVA043-047

来源:http://www.bjsxt.com/ 1、S01E043_01final修饰变量、方法和类 (1)修饰变量:常量; (2)修饰方法:该方法不可被子类重写,但可以被重载; (3)修饰类:修饰的类不能有子类,不能被继承。如:Math、String。 2、S01E044_01面向对象三大特性之一:封装/隐藏(encapsulation) (1)封装的作用:隐藏对象内部的复杂性,只

C++竞赛初阶L1-15-第六单元-多维数组(34~35课)551: T456501 计算矩阵边缘元素之和

题目内容 输入一个整数矩阵,计算位于矩阵边缘的元素之和。 所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。 输入格式 第 1 行包含两个整数,分别为行数 m 和列数 n,两个整数之间空格隔开。 第 2 行开始有 m 行数据,每行包含 n 个整数,整数之间空格隔开。 输出格式 对应矩阵的边缘元素和。 样例 1 输入 3 33 4 13 7 12

新160个crackme - 043-riijj_cm_20041121

运行分析 除了主程序还有一个dll文件,应该是要加载pf1.dll这个动态链接库运行主程序,需破解Name和Serial,点击注册无反应 PE分析 C++程序,32位,无壳 静态分析&动态调试 尝试ida动调加载动态链接库pf1.dll,弹出错误,推测存在反反调试 使用OD的StrongOD插件绕过反反调试,设置参数如上 程序拖入OD,点击F9,