c语言用if-else编写函数,输入x值求y值:x<0,y=0 x>=0且x<10,y=x;x>=10且x<20,y=10;x>=20且x<40,y=30

2024-11-28 09:25:14
推荐回答(4个)
回答(1):

#include
int main(void)
{
double x,y;
bool isDefine = true;
scanf("%lf", &x);
if (x < 0)
y = 0;
else if (x < 10)
y = x;
else if (x < 20)
y = 10;
else if (x < 40)
y = 30;
else
isDefine = false;//x>=40时y的情况呢?
if (isDefine)
printf("y = %f\n", y);
else
printf("y未定义.\n");
return 0;
}

回答(2):

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=30;
}
}
printf("%d",y);
}

回答(3):

scanf("%f",&x);
if(x<0)
y=0;
else if(x<10) /*已包括x=0,下同*/
y=x;
else if(x<20)
y=10;
else
y=30;
printf("%f\n",y);

回答(4):

两个人的编程的问题都在于x>=40时ph12的会显示30,cyf19960105的会显示乱码,而依题意应为y=0。
其实在一开始定义时就可以给x,y分别附上值,这样就不会出错了。
另:他们两种if-else的写法都是正确的,方法不同而已。
int main()
{
int x,y;
x=0;
y=0;
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=30;
}
}
printf("%d",y);
return 0;
}