简单的C语言题 编写一程序,要求输入x的值,输出y的值。要求分别用switch语句和嵌套的if语句写。

y=x(-5<x<0)y=x-1(x=0)y=x+1(0<x<10)... y=x (-5<x<0)
y=x-1 (x=0)
y=x+1 (0<x<10)
展开
 我来答
侃史小吏
2011-04-28 · TA获得超过412个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:142万
展开全部
#include<stdio.h>

void main()
{
int x,k;
scanf("%d",&x);
if(x<0&&x>-5) k=-1;
else if (x=0) k=0;
else if(x>0&&x<10) k=1;
switch(k)
{
case -1: printf("y=%d",x); break;
case 0: printf("y=%d",0); break;
case 1: printf("y=%d",x+1); break;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
reloadingText
2011-04-30 · 超过12用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:38.7万
展开全部
/*使用if嵌套语句*/
#include<stdio.h>
void main()
{
int x;
scanf("%d",&x);
if(x>-5&&x<0) y=x;
else if(x==0) y=x-1;
else y=x+1;
printf("%d\n",y);
}

/*使用switch语句*/
#include<stdio.h>
void main()
{
int x,choice;
do
{
scanf("%d",&x);
}while(x<-5||x>10);
if(x<0) choice=1;
if(x==0) choice=0;
if(x>0) choice=2;
switch(choice)
{
case 0:y=x-1;break;
case 1:y=x;break;
case 2:y=x+1;brea;
}
printf("%d\n",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QuezunG
2011-04-28 · TA获得超过143个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:95.4万
展开全部
#include<stdio.h>
int main()
{
int x,y;
scanf("%d",&x);
if((x>(-5))&&(x<0))
{
y=x;
printf("%d",y);
}
else
if(x==0)
{
y=x-1;
printf("%d",y);
}
else
if((x>0)&&(x<10))
{
y=x+1;
printf("%d",y);
}
else
printf("The input is error!");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
53030303
2011-04-28
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
if版:
#include <stdio.h>

#include <stdlib.h>
int main(int argc, char *argv[])
{
int x,y;
scanf("%d",&x);
if(-5<x<0){
y=x;
}
else if(x==0){
y=x-1;
}
else if(0<x<10){
y=x+1;
}
printf("%d",y);
return 0;
}
**********************
switch版:
#include <stdio.h>

#include <stdlib.h>
int main(int argc, char *argv[])
{
int x,y;
scanf("%d",&x);
switch(x){
case -4:
case -3:
case -2:
case -1:
y=x;
break;
case 0:
y=x-1;
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
y=x+1;
break;
default:
break;
}
printf("%d\n",y);
return 0;
}
追问
这样的switch不行啊,如果x是实型数就行不能了呀。
追答
那就按楼上的方法做吧
if(x-5) k=-1;
else if (x=0) k=0;
else if(x>0&&x<10) k=1;
switch(k)
{
case -1: y=x; break;
case 0: y=x-1; break;
case 1:y=x+1; break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懒了的猴子
2011-04-28 · TA获得超过785个赞
知道答主
回答量:139
采纳率:0%
帮助的人:53.9万
展开全部
#include <iostream.h>
main(){double x,y;
printf("请输入x的值");
scantf(”%lf“,&x)
if(x<0&&x>-5)y=x;
else if(x==0) y=x-1;
else if (x<10&&x>0) y=x+1;
else;
printf("%lf",y);}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式