首页 > 学院 > 开发设计 > 正文

华为2017校招题:自动售货系统

2019-11-10 18:28:47
字体:
来源:转载
供稿:网友

描述:考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、输出库存商品及存钱盒信息的功能.1. 系统中存在以下商品与钱币:三种商品:每种商品包含商品名称、单价、数量三种属性,分别为:名称为A1的商品单价为2元数量为5件;名称为A2的商品单价为3元数量为10件;名称为A3的商品单价为4元数量为14件存钱盒信息存在以下三种面额1、2、5元的钱币,每种钱币包括面额、张数属性,分别为:1元的 5张;2元的 5张, 5元的 3张;2. 系统退币原则:根据系统存钱盒内钱币的信息,按钱币总张数最少的原则进行退币,即使用户只投币不购买商品也按此原则退币。3. 约束:考生不需要考虑命令的非法性,即不存在非法的命令的情况,例如系统中A1商品只有5件,不存在买第6件的情况,不存在买的商品总价超过投币总和的等情况。4. 输入说明系统接收到输入命令需要初始化系统,初始化系统中商品与钱币数量。命令字与参数间使用一个空格分隔,不同命令之间用逗号分隔。1). 投币命令:命令格式:p 钱币面额,投币可以投入多次,只能投入1、2、5元面额的钱币。2). 购买商品:命令格式:b 商品名称一条购买命令仅能购买一件商品,可以多次购买;购买商品成功后,自动售货机中对应商品数量减1,存钱盒中金额相应的增加,全部购买完成需要按退币原则把多余的钱币退回。例如:p 5,p 5,p 5,b A3,b A3,b A25. 输出说明输出自动售货机中商品和存钱盒的信息,包含商品名称、数量,存钱盒面额、数量。根据商品名称的从小到大顺序进行排序,输出结果中商品名称与数量使用一个空格分开,存钱盒根据钱币面额从小到大排序输出,钱币面额与数量使用一个空格分开,不同信息间使用逗号分开,商品信息与存钱盒信息使用分号分开。例如,返回结果为:A1 5,A2 9,A3 12;1 5,2 3,5 6运行时间限制:无限制内存限制:无限制输入:投币命令、购买商品命令输出:自动售货机中商品和存钱盒的信息样例输入:p 5,p 5,p 5,b A3,b A3,b A2样例输出:A1 5,A2 9,A3 12;1 5,2 3,5 6答案提示:无


上一篇:Makefile基础

下一篇:洛谷 P1199 三国游戏

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表