X<0 Y=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语言编写~~
条件应该是:
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;
}
#include<stdio.h> void main() { float x,y; printf("please input x :\n"); scanf("%f",&x); if(x<0) y=0; else if(x<=10) y=x; else if(x<=20) y=10; else if (x<40) y=-x/2+20; else ; printf("y=%f",y); }
刚刚写的,要是你要x>=40有什么结果的话,在最后一个else后加东西就是了
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写了。