您的位置:首页 > 其它

利用switch语句解决问题

2015-12-05 22:12 260 查看
视频中的路费的代码,还未参考分析解答自己写的

代码:/*switch解决问题
课堂分析*/
#include <stdio.h>
int main()
{
float p,w,s,d,f;
printf("请输入基本运费,货物重量,距离");
scanf("%f %f %f",&p,&w,&s);
switch(s<250&&s>0)
{
case 1:
d=1;break;
case 0:
switch(s>=250&&s<500)
{
case 1:
d=1-0.02;break;
case 0:
switch(s>=500&&s<1000)
{
case 1:
d=1-0.05;break;
case 0:
switch(s>=1000&&s<2000)
{
case 1:
d=1-0.08;break;
case 0:
switch(s>=2000&&s<3000)
{
case 1:
d=1-0.1;break;
default:
d=1-0.15;break;
}

}
}

}
}
if (s<=0||p<=0||w<=0)
printf("输入错误");
else
{
f=p*w*s*d;
printf("总运费为%f",f);
}
return 0;
}

其实这道题上一节课的课后观察已经给出了解题提示,利用switch后面的解答式判断真假值来解题

也可以用if分支解决这个问题
代码/*switch实现多分支结构
课后观察*/
#include <stdio.h>
int main()
{
float p,w,s,d,f;
printf("请输入基本运费,货物重量,距离");
scanf("%f %f %f",&p,&w,&s);
if(s<250&&s>0)
d=1;
else if(s>=250&&s<500)
d=1-0.02;
else if(s>=500&&s<1000)
d=1-0.05;
else if(s>=1000&&s<2000)
d=1-0.08;
else if(s>=2000&&s<3000)
d=1-0.1;
else
d=1-0.15;
if (s<=0||p<=0||w<=0)
printf("输入错误");
else
{
f=p*w*s*d;
printf("总运费为%f",f);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: