(10/50 节 页面下方包含QQ群、作者QQ等)
1、企业发放的奖金根据利润提成。利润 I 低于或等于 100000 元的,奖金可提 10%;利润高于 100000 元,低于 200000 元(100000<I<=200000)时,低于100000元的部分按 10% 提成,高于 100000 元的部分,可提成 7.5%;200000<I<=400000 时,低于 200000 元的部分仍按上述办法提成(下同)。高于 200000 元部分按 5% 提成;400000<I<=600000 元时,高于 400000 元的部分按 3% 提成;600000<I<=1000000 时,高于 600000 元的部分按 1.5% 提成;I>1000000 时,超过 1000000 元的部分按 1%提成。从键盘输入当月利润 I,求应发奖金总数
要求:使用switch语句编写
#include<stdio.h>
int main()
{
float i,b;
float b0_1 = 100000 * 0.1,b1_2,b2_4,b4_6,b6_10;
b1_2 = b0_1 + 100000 * 0.075;
b2_4 = b1_2 + 200000 * 0.05;
b4_6 = b2_4 + 200000 * 0.03;
b6_10 = b4_6 + 400000 * 0.015;
printf("请输入利润\n");
scanf("%f",&i);
/*整数和整数相除仍然是整数,所以将i强制
转换成int。通过整数i与100000相除,判断
整数倍,即可获取i的范围,进行相关运算即
可*/
switch((int)i/100000)
{
case 0: //0<= i <10000
b = i * 0.1;
break;
case 1: //100000<= i <20000
b = b0_1 + (i-100000) * 0.075;
break;
case 2:
case 3: //200000<= i <40000
b = b1_2 + (i-200000)*0.05;
break;
case 4:
case 5: //400000<= i <60000
b = b2_4 + (i-400000)*0.03;
break;
case 6:
case 7:
case 8:
case 9: //600000<= i <1000000
b = b4_6 + (i-600000)*0.015;
break;
default: //1000000<=i
b = b6_10 + (i-1000000) * 0.01;
}
printf("提成是 %f 元",b);
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}
作者:冥河 QQ:3304576112
交流QQ群:554701039
本教程内容由本站保留版权,请勿复制传播。