C语言:Switch语句解决实际问题
来源:互联网 发布:历年总决赛mvp平均数据 编辑:程序博客网 时间:2024/05/18 21:11
任务代码:
#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.用布尔判断来设立一个指标,这种方法主要是和于不仅仅是边缘值是某一特定值的倍数,不是特定值的倍数也可以实现。例如第二个例子!
阅读全文
0 0
- C语言:Switch语句解决实际问题
- 学会使用switch语句解决实际问题
- 学会使用switch语句解决实际问题
- C语言解决实际问题_001
- C语言解决实际问题_002
- 利用C语言解决实际问题
- c语言入门之项目1.9——利用switch解决实际问题
- C语言switch语句
- C 语言 switch 语句
- C语言switch语句
- C语言switch语句
- C 语言 switch 语句
- C语言switch语句详解
- C语言 switch 语句用法
- C语言中的switch语句
- 6.3 C语言switch语句
- 54 C语言switch语句
- 【C语言】switch..case语句
- 史上最全的Java&Android面试题搜集整理
- 12.1-全栈Java笔记:网络编程的基本概念
- 【今日荐文】一本开源的程序员快速成长秘笈---康德胜
- 一起写一个JSON解析器
- PHP--使用PDO连接Mysql数据库
- C语言:Switch语句解决实际问题
- Axure RP 8.0 用动态面板实现循环代码
- Unity:CritterAI与Recast Navigation寻路
- Android 安全退出应用程序的方法总结
- VS2013下 .lib和.dll的生成与使用
- tcp与udp的区别
- 数据流中位数-LintCode
- svn 部署和使用
- datagird无法deleteRow