用switch语句编写一个分段函数

那个分段函数:
当-5<=x<=5且x≠0时,y=x-1;
当x=0时,y=x+1;
当5<x<=10时,y=x+5;
当x=其他时,y=100;
用switch语句编程

#include<stdio.h>
//当-5<=x<=5且x≠0时,y=x-1; b=2
//当x=0时,y=x+1; b=3
//当5<x<=10时,y=x+5; b=1
//当x=其他时,y=100;
int main()
{
int x=0;
int y=0;
int b=0;
scanf("%d",&x);
b=3*(x<-5)+(x<=5)+(x==0)+(x<=10)+4*(x>10) ;
switch(b)

{
case 1:
printf("y=%d",x+5);
break;
case 2:
printf("y=%d",x-1);
break;
case 3:
printf("y=%d",x+1);
break;
default:
printf("y=%d",100);
break;
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-11

具体如下:

C语言:如何使用switch语句?编写图中的分段函数?
C语言使用switch语句,编写图中的分段函数:include<stdio.h> voidmain()intx,y,flag;printf("请输入x:");scanf("%d",&x);flag=x<0?-1:(x<10?1:2);switch(flag)case-1:y=x;break;case1:y=2*x-1;break;case2:y=3*x-1;printf("y=%d\\n",y);简介 ...

用switch函数做分段函数,不明白为什么结果输出不对~
} 还有就是你的分段函数有问题啊:f(x)=0(0<=x<=10),f(x)=1(10<=x<=30),f(x)=2(30<=x<=50),f(x)=3(x>=50)你想想,x = 10 时f(x)该等于0还是1呢,定义域有重复。

用C语言switch表示分段函数要怎么表示?
回答:#include <stdio.h> void main() { int x,y,flag; printf("请输入x:"); scanf("%d",&x); flag=x<0?-1:(x<10?1:2); switch(flag) { case -1:y=x;break; case 1:y=2*x-1;break; case 2:y=3*x-1; } printf("y=%d\\n",y); }

如何用switch编写分段函数程序
void main(){float x;int a;printf("求y=x*x(x>=0),y=-x*x(x<0):\\n");scanf("%d",&x)if(x>=0) a=0;else a=1 switch(a){care 0:printf("y=x*x=%f",x*x);break;care 1:printf("y=-x*x=%f",-x*x);break;}} 参考资料:如果您的回答是从其他地方引用,请表明...

c语言用switch编程分段函数
include <stdio.h> void main(){ int x,y,flag;printf("请输入x:");scanf("%d",&x);flag=x<0?-1:(x<10?1:2);switch(flag){ case -1:y=x;break;case 1:y=2*x-1;break;case 2:y=3*x-1;} printf("y=%d\\n",y);

...请用switch结构编程计算以下分段函数的值。
简单啊语句:switch((int)(x+0.5)) { case 1: y=a+b*x; break; case 2: y=a–b*x;break; case 3: y=a*b*x; break; case 4: y=a\/(b*x);break; default: printf("x error. \\n"); } 改:int temp = (int)(x + 0.5);if(temp == 1)y=a+b*x;else if(temp ...

用C语言switch表示分段函数要怎么表示?
switch(x>5){ case 1: y=3;break;case 0: switch(x>=0){ case 1: y=1;break;case 0: switch(x<-5){ case 1: y=-3;break;case 0: y=-1;break;} } } 嵌套使用

switch case来求解分段函数
switch(c){ case 0:\/\/你用的'0'是字符,不是整数 printf("0\\n");break;case 1:case 2:printf("1\\n");break;case 3:case 4:printf("2\\n");break;case 5:printf("3\\n");default:printf("error!\\n");break;} 还有就是你的分段函数有问题啊:f(x)=0(0<=x<=10),f(x)=1(...

对以下函数: x (-5<x<0) y=x-1 (x=0) x+1 (0<x<10) 编写程序,要求输入X...
1、打开电脑中的java开发工具。2、进入idea软件后,我们新建以名为switch的项目,并在该项目的src目录下创建一个名为demo的类文件。3、使用switch实现分段函数,具体代码如下:import java.util.Scanner;public class demo { public static void main(String[] args) { Scanner s = new Scanner(...

用switch写一个分段函数.高分求解.
嗯 楼上说的对 我也这么感觉 include<stdio.h> main(){ int x;float y,A,B,C;scanf("%d",&x);A=1.1,B=1.2,C=1.3;if(x>=0)switch(x\/3){ case 0:case 1:y=A;break;case 2:y=B;break;default:y=C;} printf("%.2f",y);} ...

相似回答