我是靠谱客的博主 寂寞鱼,最近开发中收集的这篇文章主要介绍C语言:Switch语句解决实际问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

任务代码:

#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语句解决实际问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部