不管怎么样结果都是0


int main( )
{
int x;
float y;
scanf("%d",&x);
switch(x/100000)
{
case 0:y=x0.1;break;
case 1:y=10000+(x-100000)0.075;break;
case 2:
case 3:y=10000+100000
0.075+(x-200000)0.05;break;
case 4:
case 5:y=10000+100000
0.075+200000
0.05+(x-400000)0.03;break;
case 6:
case 7:
case 8:
case 9:y=10000+100000
0.075+2000000.05+2000000.03+(x-600000)0.015;break;
default:y=10000+100000
0.075+2000000.05+2000000.03+400000*0.015+(x-1000000)*0.01;break;
}
printf("%d\n",y);

}

printf("%f\n",y);

scanf("%d",&x); %d改成 %f
printf("%f\n",y); %d改成 %f

f表示浮点数,d表示整数

两位说的都不错
还有就是
case 0:y=x0.1;break;
你是想写成x乘以0.1吗?那必须得写成x*0.1.
有用记得采纳呐