这是一道非常经典的分段计费问题,我们只需要根据用电量所在的区间,按照不同的单价分别计算费用然后相加即可。
解题思路
第一档:用电量 ≤ 150 千瓦时,全部按 0.4463 元 / 度计算。
第二档:151 ~ 400 千瓦时,前 150 度按 0.4463 元,超出 150 的部分按 0.4663 元计算。
第三档:≥ 401 千瓦时,前 150 度 + 中间 250 度 + 超出 400 的部分按 0.5663 元计算。
最后输出结果,保留小数点后 1 位。
带注释:
不带注释:
代码说明
fixed << setprecision(1):这个语句用来控制输出格式,表示固定小数形式,并保留 1 位小数。
分段计算:使用 if-else 判断用电量属于哪个档位,分别计算费用。
样例验证:
输入 267:
前 150 度:150 * 0.4463 = 66.945
超出部分 267-150=117 度:117 * 0.4663 = 54.5571
总计:66.945 + 54.5571 = 121.5021,保留 1 位小数为 121.5,与样例输出一致。
总结
这是分段计费模板题,直接按区间判断计算即可;
输出必须用 fixed + setprecision(1) 保留1 位小数;
变量类型用 double 存储电费,保证精度。