题目如下
10.企业发放的奖金根据利润提成。利润Ⅰ低于或等于100 000元的,奖金可提成10%;利润高于100 000元,低于200 000元(100 000<I≤200 000)时,低于100 000元的部分按10%提成,高于100 000元的部分,可提成7.5%; 200 000<I≤400 000时,低于200 000元的部分仍按上述办法提成(下同)。高于200 000元的部分按5%提成;400 000<I≤600 000元时,高于400 000元的部分按3%提成;600 000<I<1 000 000时,高于600 000元的部分按1.5%提成;I>1000 000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。要求:(1)用if语句编程序;(2)用switch语句编程序。
使用IF语句编写
#include <stdio.h>
int main() {
double profit, bonus;
printf("请输入当月利润:");
scanf("%lf", &profit);
if (profit <= 100000) {
bonus = profit * 0.1;
} else if (profit <= 200000) {
bonus = 100000 * 0.1 + (profit - 100000) * 0.075;
} else if (profit <= 400000) {
bonus = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05;
} else if (profit <= 600000) {
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03;
} else if (profit <= 1000000) {
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015;
} else {
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01;
}
printf("应发奖金总数为:%.2f\n", bonus);
return 0;
}
用户需要输入当月利润,然后根据利润计算应发奖金总数。根据利润的不同范围,使用不同的提成比例进行计算。最后输出应发奖金总数。
使用switch语句编写
#include <stdio.h>
int main() {
double profit, bonus;
printf("请输入当月利润:");
scanf("%lf", &profit);
int level = 1; // 利润级别,默认为1
if (profit > 1000000) {
level = 6;
} else if (profit > 600000) {
level = 5;
} else if (profit > 400000) {
level = 4;
} else if (profit > 200000) {
level = 3;
} else if (profit > 100000) {
level = 2;
}
switch (level) {
case 6:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01;
break;
case 5:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015;
break;
case 4:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03;
break;
case 3:
bonus = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05;
break;
case 2:
bonus = 100000 * 0.1 + (profit - 100000) * 0.075;
break;
default:
bonus = profit * 0.1;
break;
}
printf("应发奖金总数为:%.2f\n", bonus);
return 0;
}
该程序首先根据利润的大小确定利润级别(level),然后使用Switch语句根据不同的级别计算应发奖金总数。最后,将结果输出。
PS:请注意,上面两个程序假设输入的利润是合法且正确的,没有对输入进行错误处理。在实际应用中,可能需要对输入进行验证和异常处理,以确保程序的稳定性和安全性。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END