谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成。
利润I低于或等于10万元的,奖金可提10%;200000<I<=400000时,低于20万远的部分低按上述办法提成(下同)。高于20万元的部分5%提成;400000<I<=600000时,高于40万元的部分按3%提成;600000<I<=1000000时,高于60万元的部分按1.5%提成;I>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
#include<stdio.h>
int main()
{
float I,jj,jj10w,jj20w,jj40w,jj60w,jj100w;
printf("请输入利润:");
scanf("%f",&I);
fflush(stdin);
jj10w=100000*0.1;
jj20w=jj10w+100000*0.075;
jj40w=jj20w+200000*0.05;
jj60w=jj40w+200000*0.03;
jj100w=jj60w+400000*0.015;
int dangci;
dangci=I/100000;
switch(dangci)
{
case 0:jj=I*0.01;break;
case 1:jj=jj10w+(I-100000)*0.075;break;
case 2:
case 3:jj=jj20w+(I-200000)*0.05;break;
case 4:
case 5:
case 6:jj=jj40w+(I-400000)*0.03;break;
case 7:
case 8:
case 9:jj=jj60w+(I-600000)*0.015;break;
case 10:jj=jj100w+(I-1000000)*0.001;break;
}
printf("奖金为:%.2f\n",jj);
return 0;
}
比if语句版的清晰的多。