题目描述
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电 [2006]27 号规定,月用电量在 150150 千瓦时及以下部分按每千瓦时 0.44630.4463 元执行,月用电量在 151\sim 400151∼400 千瓦时的部分按每千瓦时 0.46630.4663 元执行,月用电量在 401401 千瓦时及以上部分按每千瓦时 0.56630.5663 元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
输入格式
输入一个正整数,表示用电总计(单位以千瓦时计),不超过 1000010000。
输出格式
输出一个数,保留到小数点后 11 位(单位以元计,保留到小数点后 11 位)。
输入输出样例
输入 #1
267输出 #1
121.5
定义三段的价格:
double a1=0.4463,a2=0.4663,a3=0.5663,summ;
第一阶段:
if(m<=150){
summ=m*a1;//第一阶段
}
第二阶段+第一阶段:
else if(m>150&&m<=400){
summ=m*a2-150*a2+150*a1;//第二阶段+第一阶段
}
第1,2,3阶段总和:
else{
summ=250*a2+150*a1+m*a3-400*a3;//第1,2,3阶段总和
}
输出一位小数:
printf("%0.1lf",summ);
源代码:
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int main(){
unsigned int m;
double a1=0.4463,a2=0.4663,a3=0.5663,summ;//定义三段的价格
cin>>m;
if(m<=150){
summ=m*a1;//第一阶段
}else if(m>150&&m<=400){
summ=m*a2-150*a2+150*a1;//第二阶段+第一阶段
}else{
summ=250*a2+150*a1+m*a3-400*a3;//第1,2,3阶段总和
}
printf("%0.1lf",summ);
return 0;
}