1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 分段交电费问题

分段交电费问题

时间:2019-07-12 00:31:00

相关推荐

分段交电费问题

题目描述

月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1: 复制

267

输出样例#1: 复制

121.5

#include<stdio.h>int main(){int n;double sum;scanf("%d",&n);if(n>400){sum=150*0.4463+250*0.4663+(n-400)*0.5663;}else if(n>150){sum=150*0.4463+(n-150)*0.4663;}else {sum=n*0.4463;}sum=float(sum*10+0.5)/10.0;printf("%0.1f",sum);return 0;}

在这里很关键的一步是知道怎么用四舍五入的算法,(也只是我刚开始想当然的觉得,其实到最后ac的源代码里面是没有这个的)

sum=float(sum*10+0.5)/10.0;printf("%0.1f",sum);

不知道怎么回事,一开始我的输入值按照要求来的却一直不能输出,后来给改了给成没有+0.5的,发现还行。

最后在这里贴出终极的代码:`

#include<stdio.h>int main(){int n;double sum;scanf("%d",&n);if(n>400){sum=150*0.4463+250*0.4663+(n-400)*0.5663;}else if(n>150){sum=150*0.4463+(n-150)*0.4663;}else {sum=n*0.4463;}printf("%.1f",sum);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。