本文转载自:C 语言经典100例 其二
题目
计算企业发放的奖金根据利润提成,详细计算方式如下:
- 利润(I)低于或等于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%提成。
从键盘输入当月利润I,求应发放奖金总数?
编程没有捷径。Talk is cheap. Show me the code
程序分析
利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
PS:建议先自行思考后再继续往后看。
代码实现
代码已经上传到Github:传送门
#include<stdio.h>
/**
* @description: 计算利润
* @author: HuaiAngg
* @create: 2019-01-23 19:45
*/
int main(void)
{
double i;
double bonus1, bonus2, bonus4, bonus6, bonus10, bonus;
printf("你的净利润是:\n");
// 输入利润
scanf("%lf", &i);
// 利润(I)低于或等于10万元时
bonus1 = 100000 * 0.1;
// 高于10万元的部分,可提成7.5%
bonus2 = bonus1 + 100000*0.075;
// 高于20万元的部分,可提成5%;
bonus4 = bonus2 + 200000*0.05;
// 高于40万元的部分,可提成3%;
bonus6 = bonus4 + 200000*0.03;
// 高于60万元的部分,可提成1.5%;
bonus10 = bonus6 + 400000*0.015;
if(i <= 100000) {
bonus = i*0.1;
} else if(i <= 200000) {
bonus = bonus1 + (i - 100000) * 0.075;
} else if(i <= 400000) {
bonus = bonus2 + (i - 200000) * 0.05;
} else if(i <= 600000) {
bonus = bonus4 + (i - 400000) * 0.03;
} else if(i <= 1000000) {
bonus = bonus6 + (i - 600000) * 0.015;
} else if(i > 1000000) {
// 超过100万元的部分按1%提成。
bonus = bonus10 + (i - 1000000) * 0.01;
}
printf("提成为:bonus=%lf", bonus);
printf("\n");
return 0;
}
输出结果
你的净利润是:
120000
提成为:bonus=11500.000000
说明
题目来源于网络素材,笔者只负责整理。
如有侵权请联系笔者删除!
觉得还不错,麻烦不要吝惜你的赞👍
网友评论