3 次查看
编程题 · 商店折扣
💰 两种优惠选一种 · 算出付钱最少的金额
📖 题目描述 题意
小杨去商店买东西,商店老板给了他两种优惠方式,只能选用一种。
-
第一种:满额减钱
规则:如果买东西的总价钱达到或超过 x 元,就可以立刻减掉 y 元。
注意,这个优惠只能用一次。比如,规定“满 10 元减 3 元”,如果你买了 33 元的东西,也只能减 3 元,最后付 30 元。 -
第二种:直接打折
规则:所有东西直接按 n 折计算。打 n 折的意思就是,原来卖 10 元的东西, 现在只卖 n 元(因为 n 折就是原价的 n / 10)。
小杨选好了一些东西,总价是 p 元,默认小猫角色和白色背景, 编写程序帮他算一算,用哪种优惠方式付的钱更少,为多少元?最后输出的答案存入变量 ans 中。
📥 输入描述 变量
- 新建变量 x:满减优惠的门槛金额
- 新建变量 y:满减优惠的减免金额(1 ≤ y < x ≤ 100)
- 新建变量 n:打折优惠的折扣力度(1 ≤ n < 10)
- 新建变量 p:商品总价(1 ≤ p ≤ 100)
📤 输出描述 结果
新建变量 ans,用于存储最后的结果(两种优惠方式中付钱更少的金额)。
📊 优惠方式对照 对照表
| 优惠方式 | 条件 | 应付金额 |
|---|---|---|
| 满额减钱 | p ≥ x | p - y |
| 直接打折 | 任意 | p × n ÷ 10 |
| 最终结果 | 两种方式 | 取较小值 |
🔍 样例解释 样例
输入: x = 8 y = 7 n = 2 p = 11
- 打折优惠:11 × 2 ÷ 10 = 2.2 元
- 满减优惠:因为 11 > 8,所以 11 - 7 = 4 元
- 比较:2.2 < 4,所以选择打折,最终付 2.2 元
输出: ans = 2.2
另一组样例:
输入:x = 8
y = 7
n = 9
p = 10
打折:10 × 9 ÷ 10 = 9 元;满减:10 > 8,10 - 7 = 3 元。取较小值 3 元。
输出:ans = 3
⚠️ 注意事项 必读
- 变量名的拼写(包括大小写)要和题目完全一致。
- 输入变量直接赋值即可,无需使用“询问并等待”积木块。
- 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块。
🧩 图形化编程二级 · 2025年09月 · 编程题 1
贵公网安备 52011502010065 号