一、题目
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。
这不,大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。
小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。
现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。
取款机只能提供 100100 元面额的纸币。小明想尽可能少取些现金,够用就行了。 你的任务是计算出,小明最少需要取多少现金。
以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。
**** 180.90 88折
**** 10.25 65折
**** 56.14 9折
**** 104.65 9折
**** 100.30 88折
**** 297.15 半价
**** 26.75 65折
**** 130.62 半价
**** 240.28 58折
**** 270.62 8折
**** 115.87 88折
**** 247.34 95折
**** 73.21 9折
**** 101.00 半价
**** 79.54 半价
**** 278.44 7折
**** 199.26 半价
**** 12.97 9折
**** 166.30 78折
**** 125.50 58折
**** 84.98 9折
**** 113.35 68折
**** 166.57 半价
**** 42.56 9折
**** 81.90 95折
**** 131.78 8折
**** 255.89 78折
**** 109.17 9折
**** 146.69 68折
**** 139.33 65折
**** 141.16 78折
**** 154.74 8折
**** 59.42 8折
**** 85.44 68折
**** 293.70 88折
**** 261.79 65折
**** 11.30 88折
**** 268.27 58折
**** 128.29 88折
**** 251.03 8折
**** 208.39 75折
**** 128.88 75折
**** 62.06 9折
**** 225.87 75折
**** 12.89 75折
**** 34.28 75折
**** 62.16 58折
**** 129.12 半价
**** 218.37 半价
**** 289.69 8折
需要说明的是,88 折指的是按标价的 88计算,而 8 折是按 80 计算,余者类推。 特别地,半价是按 50 计算。
请输出小明要从取款机上提取的金额,单位是元。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
二、excel解法思路
【特别说明】 本文excel解法思路来自官网题库题解中关于EXCEL解法的高赞回答,因为对excel操作不熟练,实操比较坎坷,特此记录详细过程并分享。
三、具体步骤(图演示)
1.将数据复制进excel中,点数据中的分列,将文本分成3列。
1.1 复制题目中购物单文本 -> 打开excel -> 选择A1单元格 -> 只粘贴文本或选择性粘贴(无格式文本);
1.2 粘贴完毕 -> 选择A1整列 ->菜单栏选择数据 ->选择分列;
1.3 进入分列向导 -> 选择分隔符号 -> 选择空格;
2.将折扣那一列文本中的“折”字替换掉,半折替换成5
选择C列 -> ctrl+h 打开替换(或者菜单栏开始 -> 查找 -> 替换 )-> 查找内容填写折时替换为空,查找内容填写半价时替换为5 -> 选择全部替换;
3.再在旁边一列中输入前两个想要的格式如0.88 0.65,选中下一格按ctrl+e 自动填充得到一列0.88 0.65 0.9等格式的数据。
注意:D列要至少输入两个数值,否则自动填充时的结果不完全为想要的格式。
4.最后就是基本的excel公式的运用指定格相乘 最后求和得到结果。
4.1 选择E1单元格 -> 输入 =B1*D1 ->回车得到结果;
4.2 下拉E1单元格绿框右下角小绿点至最后一条数据,得到每一件商品打折后的价格;
4.3 最后在F1单元格输入 =SUM(E:E) ,得到E列所有数据求和结果值:5136.8595;因为题目要求只能取整百元,所以题目所求值结果应为5200。