#GESP1MN04. 小明的购物优惠
小明的购物优惠
GESP C++ 一级模拟题
题目名称:小明的购物优惠
知识点
- 条件判断(if-else if-else语句)
- 数学计算(乘法、百分比)
- 浮点数处理
- 格式化输出
题目描述
小明去商店购物,商店正在举办优惠活动!
优惠规则:
- 如果购买金额 ≥ 200元,享受 8折 优惠(打8折)
- 如果购买金额 ≥ 100元且 < 200元,享受 9折 优惠(打9折)
- 如果购买金额 ≥ 50元且 < 100元,享受 95折 优惠(打95折)
- 如果购买金额 < 50元,不打折(原价)
请根据小明的购买金额,计算他实际需要支付的金额。
输入格式
一行,包含一个浮点数 amount,表示小明的购买金额(0 ≤ amount ≤ 1000)
输出格式
一行,输出小明实际需要支付的金额,保留2位小数
样例输入1
250.00
样例输出1
200.00
样例1说明: 购买金额250元 ≥ 200元,享受8折优惠 实际支付:250 × 0.8 = 200.00元
样例输入2
150.00
样例输出2
135.00
样例2说明: 购买金额150元在100-200元之间,享受9折优惠 实际支付:150 × 0.9 = 135.00元
样例输入3
80.00
样例输出3
76.00
样例3说明: 购买金额80元在50-100元之间,享受95折优惠 实际支付:80 × 0.95 = 76.00元
样例输入4
30.00
样例输出4
30.00
样例4说明: 购买金额30元 < 50元,不打折 实际支付:30.00元(原价)
样例输入5
200.00
样例输出5
160.00
样例5说明: 购买金额200元,刚好达到8折优惠标准 实际支付:200 × 0.8 = 160.00元
提示
- 注意边界值的处理(200、100、50)
- 使用多个if-else if-else语句实现多分支判断
- 注意浮点数的计算和输出格式
- 使用
printf("%.2f\n", value)或cout << fixed << setprecision(2) << value保留2位小数 - 打折计算:原价 × 折扣率
考察知识点总结
- ✅ 多分支条件判断(if-else if-else)
- ✅ 数学计算(百分比、折扣)
- ✅ 浮点数处理
- ✅ 格式化输出(保留小数位数)
- ✅ 边界值处理
难度评估
难度: ⭐⭐⭐☆☆(中等)
适合: GESP C++ 一级考生练习
数学知识点
- 百分比计算:打8折 = 原价 × 0.8 = 原价 × 80%
- 折扣率:8折 = 0.8,9折 = 0.9,95折 = 0.95
- 区间判断:注意边界值的归属(≥ 和 < 的使用)