用C语言switch表示分段函数要怎么表示?

如题:已知分段函数如下,编写一个程序,输出不同的Y值。
y=3 (x>5)
y=1 (x>=0)
y=-1 (x<0)
y=-3 (x<-5)
帮忙解决下``

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;
}
}
}
嵌套使用
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-06-30
#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); }本回答被网友采纳
第2个回答  2013-10-27
switch语句中的case标签必须是整型常量或者整数常量表达式 不能是个范围~所以不能用SWITCH写
用if else if..else 吧~
第3个回答  2017-06-30
y = x > 5? 3: (x>=0? 1 : (x>=-5? -1:-3));
第4个回答  2013-10-27
if( x > 5)
y = 3;
else if(x >= 0)
y = 1;
else if( x <= -5)
y = -3;
else y = -1;本回答被网友采纳