阶梯电价问题,输入600,正确输出应该是360.98,为什么它输出是292.98

#include
using namespace std;

int main()
{
double x,y;
cin>>x;
if(0
{y=0.4883x;
printf("%.2lf",y);
}
else if(240
{y=0.4883*240+(x-240)*0.5383;
printf("%.2lf",y);
}
else if(x>400)
{y=240
0.4883+160*0.5383+(x-400)*0.7883;
printf("%.2lf",y);
}

return 0;

}

if(0<x<=240) 语法错误 改成 if(x>0&&x<=240),不然一直成立的,就走这个if了

#include<stdio.h>
#include<iostream>
using namespace std;


int main()
{
double x,y;
cin>>x;
if(x>0&&x<=240)
{y=0.4883*x;
printf("%.2lf",y);
}
else if(x>240&&x<=400)
{y=0.4883*240+(x-240)*0.5383;
printf("%.2lf",y);
}
else if(x>400)
{y=240*0.4883+160*0.5383+(x-400)*0.7883;
printf("%.2lf",y);
}

return 0;
}