C语言用switch解决分段函数

用switch实现下列分段函数:当x<0时,y=x当0<=x<10时,y=2*x-1当x>=10时,y=3*x-1怎么实现?... 用switch实现下列分段函数:
当x<0时,y=x
当0<=x<10时,y=2*x-1
当x>=10时,y=3*x-1
怎么实现?
展开
 我来答
doll_go
推荐于2017-09-18 · TA获得超过150个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:124万
展开全部
#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);

}
韧劲9
推荐于2017-09-02 · TA获得超过9225个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:375万
展开全部
#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);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我小你小爱
2010-03-31 · 超过13用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:42.2万
展开全部
#include <stdio.h>
#include <string.h>

main(){
int x,y;
char s[32];

printf("请输入x:");
scanf("%d",&x);
sprintf(s,"%d",x);
switch(s[0]){
case '-' : y=x;
break;
default :
switch(strlen(s)){
case 1: y=2*x-1;
break;
default : y=3*x-1;
}
}
printf("y=%d\n",y);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式