概述
任务代码:
#include <stdio.h>
#define PRICE 12//此处以千千快递为例,每千克货物运费12RMB,定义常量宏
int main ( )
{
float fWeight,fDistance,fDiscount,fFreight;//定义货物重量,运输距离,折扣,总运费
int iCase; //设定iCase用于指标250的倍数
printf("千千快递,1千克货物基本运费12元/公里!n");
printf("请输入货物重量(千克):");
scanf("%f",&fWeight);
if(fWeight<0)
{
printf("错误!物品重量不能为负数!n");
return main();
}
printf("请输入距离(千米:)");
scanf("%f",&fDistance);
if(fDistance<0)
{
printf("错误!与数据里不能为负数!n");
return main();
}
if(fDistance>3000)
{
fDiscount=0.15;
}
else
{
iCase=fDistance/250;
switch (iCase)
{
case 0:
fDiscount=0;
break;
case 1:
fDiscount=0.02;
break;
case 2:
case 3:
fDiscount=0.05;
break;
case 4:
case 5:
case 6:
case 7:
fDiscount=0.08;
break;
case 8:
case 9:
case 10:
case 11:
case 12:
fDiscount=0.1;
break;
}
}
fFreight=PRICE*fWeight*fDistance*(1-fDiscount);
printf("总运费为:%5.3f 元",fFreight);
return 0;
}
执行情况:
知识总结:
Switch语句主要用于分段函数问题的运算使用:此类问题也经常可以使用if else多分支结构语句来实现!
问题:
关于分段函数使用if else多分支实现:
但经过观察可以发现此类分段函数有一个显著特点就是,分段函数的边缘值都是250的倍数!
因此给我们是用switch语句创造了机会:(采用整除的方式来设立指标例如:c)
另外一种使用switch语句求分段函数的技巧:(通过布尔类型判断来设立一个指标l例如 t!)
心得体会:
自己举的例子价格贵的离谱,但是只是一个范例,注意switch后面需要用大括号,并且break后面需要号!
switch语句求分段函数主要运用于指标的设立,常规方法就是1.用整除的方式来设立指标,这种方法主要适合于分段函数中的边缘值是某一个特定值的倍数;
2.用布尔判断来设立一个指标,这种方法主要是和于不仅仅是边缘值是某一特定值的倍数,不是特定值的倍数也可 以实现。例如第二个例子!
最后
以上就是寂寞鱼为你收集整理的C语言:Switch语句解决实际问题的全部内容,希望文章能够帮你解决C语言:Switch语句解决实际问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复