不理解这个程序,谁能帮我解释一下?谢谢!
这是书上的一道练习题:main()
{
int c;
long i;
float y,x1,x2,x4,x6,x10;
x1=100000*0.1;
x2=x1+100000*0.075;
x4=x2+200000*0.05;
x6=x4+200000*0.03;
x10=x6+400000*0.015;
printf("请输入利润:");
scanf("%ld",&i);
c=i/100000;
if(c>10)
c=10;
switch(c)
{
case 0:y=i*0.1;break;
case 1:y=x1+(i-100000)*0.075;break;
case 2:
case 3:y=x2+(i-200000)*0.05;break;
case 4:
case 5:y=x4+(i-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:y=x6+(i-600000)*0.015;break;
case 10:y=x10+(i-1000000)*0.01;
}
printf("利润是:%ld,奖金是:%.1f\n",i,y);
}
c=i/100000,switch(c)如果我输入100000,c的结果为1,按道理应该执行case 1:这段语句,但为什么会执行csae 0:这段语句,其实执行这段答案是正确的。但为什么我看不懂,还有当输入200000,按道理也是执行case 2:,为什么又执行case 1:,等,那位高手能指点,我在此多谢了!