有一个函数y=x(x≦x<2)2x-2(2≦x<4)3x-6(x≧4)用switch语句实现
x≦x<2?是0<=x<=2吧
#include <stdio.h>
int main() {
int x, y;
scanf("%d", &x);
switch (x)
{
case 0: case 1:
y = x;
break;
case 2: case 3:
y = 2 * x - 2;
break;
default:
y = 3 * x - 6;
}
printf("%d", y);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:public double calculate(double x) {
double y;
switch((int)x) {
case 0:
case 1:
y = x;
break;
case 2:
case 3:
y = 2 * x - 2;
break;
default:
y = 3 * x - 6;
break;
}
return y;
}
注意,此处我将x和y都定义为double类型,因为题目的描述中没有明确指定x和y的类型。如果需要限定x和y的类型,可以根据实际情况进行修改。另外,此处我们使用了int型的switch参数进行判断,因此只能判断整数范围内的值。如果需要支持小数范围内的值,可以使用if-else语句来进行判断。