企业发放的奖金根据利润提成。
①利润低于或等于10万元时,奖金可提10%;
② 利润高于10万元,低于20万元时,低于10
万元的部分按10%提成,高于10万元的部分,
可提成 7.5%;
③20万到40万之间时,高于20万元的部分,
可提成 5%;
④40万到60万之间时高于 40万元的部分,可
提成 3%;
⑤60万到100万之间时,高于60万元的部
分,可提成1.5%;
⑥ 高于100万元时,超过100 万元的部分按1%
提成;
从键盘输入当月利润,求应发放奖金总数?
要求:用switch,不能用break,case降序排列
#include
int main(void)
{
int i,j,p,shu;
p = 0;
shu = 0;
scanf("%d", &i);
j = (int)(i / 100000);
switch(j)
{
default:
shu = (i - 1000000);
p += shu * 0.01;
case 9:
case 8:
case 7:
case 6:
shu = i-shu-600000;
p += shu * 0.015;
case 5:
case 4:
shu = i -shu- 400000;
p += shu * 0.03;
case 3:
case 2:
shu=i-shu-200000;
p+=shu0.05;
case 1:
shu=i-shu-100000;
p+=shu0.015;
case 0:
p += 100000 * 0.1;
}
printf("award is %d", p);
return 0;
}
我水平不够
用switch,不能用break,case降序排列
用if语句也可以,当然switch语句简单点,你这个也有问题,每个case最后要有break