习题2-2 阶梯电价

浙大版《C语言程序设计(第3版)》题目集

习题2-2 阶梯电价 (15 分)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。

输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。

输入样例1:
10
输出样例1:
cost = 5.30
输入样例2:
100
输出样例2:
cost = 55.50

草稿版本

#include <stdio.h>
int main(){
int n=0;
double cost=0;
scanf("%d",&n);
if(n<=50){
	cost=0.53*n;
	printf("cost = %.2f",cost);
}else{
	cost=0.53*50+0.58*(n-50);
	printf("cost = %.2f",cost);
} 

if(n<0)
printf("Invalid Value!");
	return 0; 
} 

Invalid Value!输出不了,嵌套有问题,不能这样用,因为else已经包含了小于0的情况

正式版本

#include <stdio.h>
int main(){
int n=0;
double cost=0;
scanf("%d",&n);
if(n<=0){
	printf("Invalid Value!");
}else{
	if(n<=50&&n>0){
	cost=0.53*n;
	}else{
	cost=0.53*50+0.58*(n-50);
	}
	printf("cost = %.2f",cost); 
}
	return 0; 
} 

结论:

  1. 可以将2处相同的print写在同一个if内的最后来输出
  2. 联系了嵌套循环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值