C!!!请大家帮帮忙呀,谢谢了......

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:18:46
一个函数,当x<1时,y=x;当1=<x<10时,y=2x-1;当x>=10时,y=3x-11;
编个c程序,要求要case语句

帮你编好了,完全正确:
#include<stdio.h>
void main()
{
float x,y;
int t;
printf("Input x:\n");
scanf("%f",&x);
t=(x<1?0:(x>=10?2:1));
switch(t)
{
case 0:
y=x;
break;
case 1:
y=2*x-1;
break;
case 2:
y=3*x-11;
break;
}
printf("y=%f\n",y);
}

不太清楚你的x y是什么类型的数,所以写了个通用的:

switch(((int)x+(int)x/10+9)/10){
case 0:y=x;break;
case 1:y=2*x-1;break;
default:y=3*x-11;
}

可以这样:

int flag;
if(x<1) flag = 0;
else if(x<10) flag = 1;
else flag = 2;

switch(flag)
{
case 0:y=x;break;
case 1:y=2*x-1;break;
case 2:y=3*x-11;break;
default:break;
}

if (x < 1)
{
itemp = 0;
}
else
{
itemp = (x+10)/10;
}
switch(itemp){
case 0:y=x;break;
case 1:y=2*x-1;break;
default:y=3*x-11;