某企业给职工发放的奖金根据利润 I (单位:万元)提成,具体标准如下: 0≤ l ≤10时,按10%提成; 10< l ≤20时,低于10万元部分按10%提成,高于10万元部分按7.5%提成; 20< l ≤40时,低于20万元部分仍按上述办法提成(下同),高于20万元部分按5%提成; 40< l ≤60时,高于40万元部分按3%提成; 60<ls100时,高于60万元部分按1.5%提成。 由键盘输入利润 I ,求应发奖金总数。要求:用 switch 语句编写程序。
时间: 2023-05-30 17:05:54 浏览: 198
以下是使用 switch 语句编写的程序:
```
#include <stdio.h>
int main() {
double profit, bonus;
printf("请输入企业利润(万元):");
scanf("%lf", &profit);
switch ((int)profit/10) {
case 0:
bonus = profit * 0.1;
break;
case 1:
case 2:
bonus = 10 * 0.1 + (profit - 10) * 0.075;
break;
case 3:
case 4:
case 5:
case 6:
bonus = 10 * 0.1 + 10 * 0.075 + (profit - 20) * 0.05;
break;
case 7:
case 8:
case 9:
bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (profit - 40) * 0.03;
break;
default:
bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (profit - 60) * 0.015;
break;
}
printf("应发奖金总数为:%.2lf万元\n", bonus);
return 0;
}
```
程序首先读入利润 I ,然后根据利润的大小分别计算出应发奖金总数。switch 语句的条件是利润除以 10 的整数部分,分别对应不同的利润范围。根据题目要求,应发奖金总数的计算分别采用不同的提成率。最后输出应发奖金总数。