小玉家的电费(洛谷-P1422)

题目描述

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

输入输出格式

输入格式:

输入一个整数,表示用电总计(单位以千瓦时计),不超过10000。

输出格式:

输出一个数,保留到小数点后1位(单位以元计,保留到小数点后1位)。

输入输出样例

输入样例#1: 

267

输出样例#1: 

121.5

源代码  

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    double eletric,money;

    cin>>eletric;
    
    if(eletric<=150)	
        money=eletric*0.4463;//电量少于150KWh时的电费
    if(eletric>150&&eletric<=400)	
        money=150*0.4463+(eletric-150)*0.4663;//电量多于150KWh,少于400KWh时的电费
    if(eletric>400)		
        money=150*0.4463+250*0.4663+(eletric-400)*0.5663;//电量多于400KWh时的电费
    
    printf("%.1lf",money);//保留小数点1位
    printf("\n");//换行
    
    return 0;
}

 

### 计算电费的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、付费专栏及课程。

余额充值