通常情况,分段函数采用if-else语句表达。下面介绍分段函数用switch-case语句表达的具体
思路。
思路:利用C语言关系判断表达式为真返回1,以及关系判断表达式为假返回0,构造特定的
关系判断表达式把正数、负数、零分别转换成不同的整数(1、0、2)。
特定的关系表达式:a=(x==0)+(x>=0)
分析:当 x>0时,a=0+1=1;
当 x=0时,a=1+1=2;
当 x<0时,a=0+0=0;
具体的C语言代码如下:
#include <stdio.h>
int main()
{
/* 初始化 */
double x;
int a=0;
/* 输入一个常数 */
scanf("%lf",&x);
/* 把0转换成整数2,把正数转换成整数1,把负数转换成整数0 */
a=(x==0)+(x>=0);
/*
当x<0时,输出f(x)=-1;
当x=0时,输出f(x)=0;
当x>0时,输出f(x)=2x
*/
switch(a)
{
case 0:
printf("f(x)=-1\n");
break;
case 1:
printf("f(x)=2x\n");
break;
case 2:
printf("f(x)=0\n");
break;
default:
break;
}
return 0;
}