【洛谷】P1422 小玉家的电费

这是一道来自洛谷的编程题,涉及分段计算电费的问题。题目要求根据用电量分段计算电费,并强调了要注意细节,避免因不仔细而出错。解题思路包括定义全局变量,分析电费段并进行分类计算,最后输出保留一位小数的答案。此题适合初学者,主要考察条件语句的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本题选自洛谷题库

原题传送门←戳一戳看原题

题意分析

分支运算的第一题,不会很难,勿恐!

题目大意为分段计算所需电费

因为题目里给了4位小数的电费,所以直接用double

代码实现

  1. 定义两个全局变量(n代表用电量,sum表示电费)
  2. 仔细分析每段电费,进行分类(好多初中生做这类数学题时都因为不仔细栽倒了!)
  3. 这题两个写法,仔细分段+每段细写或者是大致划分范围,求总值。为了保证代码的简洁,我采用第二种分段方式,从大往小依次划分,方便快捷。
  4. 依次分段,求值
  5. 输出答案(保留一位小数不要忘记!),这里也为了图方便,采用printf输出

满分代码(禁止直接抄袭)

#include <bits/stdc++.h>
using namespace std;
### 计算电费的C语言程序 为了实现计算小玉家电费,可以基于给定的价格区间来设计算法逻辑。下面是一个完整的例子: ```c #include <stdio.h> int main() { int usage; double cost; // 输入用电量 printf("请输入本月用电量(度): "); scanf("%d", &usage); // 判断不同区间的费用并累加总金额 if (usage <= 180) { cost = 0.50 * usage; } else if (usage <= 280) { cost = 0.55 * (usage - 180) + 90.0; // 前180度按每度0.5元计价, 后面部分按照新的单价计算 } else { cost = 0.85 * (usage - 280) + 143.0 + 90.0; // 超过280度后的额外电量以更高费率收费 } // 输出最终结果保留一位小数 printf("应缴电费为 %.1lf 元\n", cost); return 0; } ``` 此段代码实现了根据不同阶梯电价自动计算家庭月度电费的功能[^1]。 对于更复杂的定价策略,则可以通过函数封装的方式提高代码可读性和维护性: ```c #include <stdio.h> float calculateElectricityBill(int units){ float billAmount; if(units >= 0 && units <= 150){ billAmount = units * 0.4463; }else if(units > 150 && units <= 400){ billAmount = ((units - 150) * 0.4663) + 66.945; }else{ billAmount = (((units - 400) * 0.5663) + 116.575 + 66.945); } return billAmount; } int main(){ int unitConsumed; printf("输入您消耗了多少单位电力:"); scanf("%d",&unitConsumed); printf("您的账单总额是:%.1f RMB.",calculateElectricityBill(unitConsumed)); return 0; } ``` 上述方法通过定义`calculateElectricityBill()` 函数处理具体的电费计算细节,使得主程序更加简洁明了[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值