第二十六讲项目3-分段函数求值switch版语句版

分段函数
程序代码
#include <stdio.h>
#include <math.h>
/*
*csdn学院——2016级
*文件名称:Myfun31.c
*作者:小臣小仁
*完成日期:2016年11月13日
*问题描述:从键盘输入x的值(要求为整型),
*根据公式1计算并输出x和y的值。
*要求用switch语句完成。。
*/
int main()
{
    float x,y;
    int z;
    printf("请输入x>-2的整数值:\n");
    scanf("%f",&x);
    z=(x<2)+(x<6)+(x<10);
    switch(z)
    {
        case 3:y=sqrt(x+1);break;
        case 2:y=x*x+1;break;
        case 1:y=x;break;
        default:y=1/(x+1);break;
    }
    printf("%.4f",y);
    return 0;
}


输出结果

知识点总结:
                 这里我们用“(x<2)+(x<6)+(x<10)”来进行判断,当全部为真的时候z=3,表明输入的值x是满足x<2;x<6;x<10(说明x<10),如果z=2;说明x<6;如果x=1,说明
                 x<2;如何z=0;说明x>10.
心得体会
             用逻辑运算符应用到switch语句,可以事半功倍。
头歌switch语句通常指的是在编程中使用switch-case结构来实现多分支条件判断的一种编程手法。在某些编程语言中,如C、C++、Java等,switch语句通常用于基于不同的整数或枚举类型的值执行不同的代码分支。不过,switch语句通常不直接用于处理浮点数或字符串形式的分段函数,因为它们不具备自然的“case”分段。然而,可以通过一些技巧来使用switch语句分段函数。 对于分段函数,它通常具有多个区间,每个区间对应一种计算规则。在编程中,可以使用if-else-if结构来实现分段函数求值。但为了让代码更加清晰,有时候会使用switch语句模拟这种分段判断的过程。 下面是一个使用C语言中的switch语句来模拟分段函数的示例: ```c double segmentFunction(int x) { double result; switch (x / 10) { case 0: // x的范围是[0, 9] result = x * x; // 示例:平方函数 break; case 1: // x的范围是[10, 19] result = x - 10; // 示例:线性函数 break; // 可以继续添加case来覆盖其他分段 default: // 可以处理非法输入或者其他边界情况 result = -1; // 一个错误的返回值或者其他处理 break; } return result; } ``` 在这个例子中,我们将输入的整数`x`除以10来得到一个整数,用于switch语句中的case判断。这样,不同的case就对应不同的分段区间。每个case内部的计算是分段函数在这个区间内的定义。 需要注意的是,由于switch语句中的case只能是整数或枚举类型,所以对于浮点数或更复杂的分段条件,还是需要使用if-else结构。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值