求C语言大神:(用c语言中的switch语句和if语句写)

供电公司对每月电费在100度以下的普通客户每度电收0.5元;超过100度低于300度超过部分每度收0.8元;超过300度低于1000度超过部分每度收1.2元;超过1000... 供电公司对每月电费在100度以下的普通客户每度电收0.5元;超过100度低于300度超过部分每度收0.8元;超过300度低于1000度超过部分每度收1.2元;超过1000度超过部分每度收2元.输入客户的用电度数,求应收电费的金额.
课题三 星期输出
展开
 我来答
VS假命题
2016-10-23 · 超过32用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:42.3万
展开全部

#include <stdio.h>
void main(){
float x = 0.0;//用电度数
float y = 0.0;//应收费用
scanf("%f",&x);
if (x <= 100){//在100度以下的普通客户每度电收0.5元;
y = x*0.5;
}
else if ( x > 100 && x <= 300){//超过100度低于300度超过部分每度收0.8元
y = 100*0.5 + (x - 100)*0.8;
}
else if ( x > 300 && x <= 1000){//超过300度低于1000度超过部分每度收1.2元
y = 100*0.5 + 200*0.8 + (x - 300)*1.2;
}
else if (x >1000){//超过1000度超过部分每度收2元
y = 100*0.5 + 200*0.8 + 700*1.2 + (x - 1000)*2;
}
printf("%f\n",y);
}

希望能解决您的问题,谢谢

追问
我已经解决了,但还是谢谢你
听不清啊
高粉答主

2016-10-23 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
switch实现:
#include<stdio.h>
int main( )
{ int x;
float y;
scanf("%d",&x);
switch(x/100)
{case 0:y=0.5*x;break;
case 1:
case 2:
case 3:y=50+0.8*(x-100);break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:y=50+160+1.2*(x-300);break;
default: y=50+160+840+2*(x-1000);
}
printf("%.1f\n",y);
return 0;
}

if实现:
#include <stdio.h>
void main(){
float x ,y ;
scanf("%d",&x);
if (x <= 100)y = x*0.5;
else if (x <= 300)y = 50 + (x - 100)*0.8;
else if (x <= 1000)y = 50 + 160 + (x - 300)*1.2;
else y = 50 + 160 + 840 + (x - 1000)*2;
printf("%f\n",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式