
根据下面函数关系,对输入的每一个x,计算相应的y值,要求用C语言编写。
X<0Y=0;10<X<=20,Y=10:0<X<=10,Y=X;20<X<40,Y=-0.5X+20:要求用C语言编写~~...
X<0 Y=0;10<X<=20,Y=10:0<X<=10,Y=X;20<X<40,Y=-0.5X+20: 要求用C语言编写~~
展开
2个回答
推荐于2017-12-16
展开全部
条件应该是:x<0时 y=0; 0<x<=10时 y=x; 10<x<=20时 y=10; 20<x<40时 y=-0.5*x+20;帮你用if else 和switch语句各写了个. 你看看.用if else结构:#include <stdio.h>int main()
{
int x,y;
scanf("%d",&x);
if(x<0) y=0;
else if(x<=10) y=x;
else if(x<=20) y=10;
else if(x<40) y=-0.5*x+20; printf("y=%d\n",y);
return 0;
} 用switch case语句:#include <stdio.h>int main()
{
int x,y;
scanf("%d",&x);
if(x<0) y=0;
else
{
switch(x/10) {
case 0:
y=x; break;
case 1:
if(x==10) y=x;
else y=10;
break;
case 2:
if(x==20)
{
y=10; break;
}
case 3:
y=-0.5*x+20; break;
}
}
printf("y=%d\n",y);
return 0;
}
{
int x,y;
scanf("%d",&x);
if(x<0) y=0;
else if(x<=10) y=x;
else if(x<=20) y=10;
else if(x<40) y=-0.5*x+20; printf("y=%d\n",y);
return 0;
} 用switch case语句:#include <stdio.h>int main()
{
int x,y;
scanf("%d",&x);
if(x<0) y=0;
else
{
switch(x/10) {
case 0:
y=x; break;
case 1:
if(x==10) y=x;
else y=10;
break;
case 2:
if(x==20)
{
y=10; break;
}
case 3:
y=-0.5*x+20; break;
}
}
printf("y=%d\n",y);
return 0;
}
2014-03-11
展开全部
y=x<0?0:(x<=10?x:(x<=20?10:(x<40?-0.5*x+20:_____)));上面的横线是因为大于等于40的情况你没有限定。如果已知X肯定小于40,那么最后一个判断可以去掉:y=x<0?0:(x<=10?x:(x<=20?10:-0.5*x+20)); 这看上去很乱。再多的话可以用if写了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询