如何确定switch中case值判断?
ergao 2004-03-24 10:23:51 题目:
I=I*10%(I<=100000)
=I*7.5%(100000<I<=200000)
=I*5%(200000<I<=400000)
=I*3%(400000<I<=600000)
=I*1.5%(600000<I<=1000000)
=I*1%(I>1000000)
main()
{long I;
int c;
float prize;
printf("Please input I:\n");
scanf("%ld",&I);
c=I/100000;
switch(c)
{case 0:prize=I*0.1;break;
case 1:prize=100000*0.1+(I-100000)*0.075;break;
case 2:
case 3:prize=100000*(0.1+0.075)+(I-200000)*0.05;break;
case 4:
case 5:prize=100000*(0.1+0.075)+200000*0.05+(I-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:prize=100000*(0.1+0.075)+200000*(0.05+0.03)+(I-600000)*0.015;break;
default:prize=100000*(0.1+0.075)+200000*(0.05+0.03)+400000*0.015+(I-1000000)*0.01;
}
printf("Prize is %0.2lf",prize);
}
这个程序中为什么在 case 为2(4,6,7,8)中不跟prize 的计算公式?
这个不写意为着这种条件已经包含在某一其他情况下了!
但这是如何确定的?