#include
using namespace std;
int main(void)
{
float x,y;
cout<<"input =";
cin>>x;
if (x<1)
y=x;
else if(1<=x<10)
y=2x-1;
else
y=3x-11;
cout<<"y="<<y<<endl;
return 0;
}
这段代码哪里有问题?为什么输入14输出的是27
else if(1<=x<10) 改成 else if(1<=x&&x<10)
1<=x<=10 需要知道它计算的先后顺序
先算1<=x,不管x值为多少,最终只有两个结果,它的值要么是不成立(0)要么是成立(1),再计算 0<=10或者1<=10,这两个结果都是一定成立的,所以会进这个里边
1 <= x < 10 改成 x >= 1 && x < 10
程序里面比较大小不能像数学那样连着写的。