C语言浙江省阶梯电价

描述
浙江省从2012年7月1日起执行新的阶梯电价标准,具体如下:从每年1月1日开始,执行一个新的计费周期;
(1)全年累计用电量少于2760度(千瓦时,下同)的,按每度0.538元执行;
(2)全年累计用电量超过2760度,但低于4800度的部分,每度在基础电价上加价0.05元,即每度电0.588元;
(3)全年累计用电量超过4800度的部分,每度加价0.30元,即每度0.838元。
现输入两个数字:第一个数字代表前10个月用电量总和,后一个代表11月用电量,能够正确输出11月的电费金额(保留两位小数)。

输入格式
2700 200

输出格式
114.60

输入样例

4700 200

输出样例

142.60

实验分析:
此题为计算电费,收费标准为阶梯收费,期间若只是用if-else语句,会是代码冗余度高(重复使用相同代码),可使用函数进行简化,即写一个收费的函数。

代码实现:

#include <stdio.h>

double pay(double d){			//定义支付函数,d为用电量
        if(d < 2760)			//用电量小于2760时,每度电0.538元
            return d * 0.538;	//返回电费
        else if(d < 4800)		//用电量大于等于2760小于4800
            return 1484.88 + (d-2760) * 0.588;	//返回2760内的电费加上超出2760的部分每度电0.588的电费和
        else return 2684.4 + (d-4800) * 0.838;	//用电量大于等于4800时,返回4800度的电费加上超出部分的电费和
}

int main(void){

        double a, b, sum;	//a为前面十个月的用电量的和,b为11月的用电量
        scanf("%lf %lf",&a, &b);
        sum = a + b;		//11个月的用电量总和
        double cost = pay(sum) - pay(a);	//调用函数,用总电量的费用减去前十个月的电费,最终费用为第11月的电费
        printf("%.2f",cost);	//输出第11月的电费

        return 0;
}

谢谢浏览!

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值