原题链接:[编程入门]利润计算
题目
企业发放的奖金根据利润提成。利润低于或等于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,求应发奖金总数。
分析
我们可以将题目简化为下面的表格
利润 | 奖金 |
---|---|
I≤200000 | 10% |
100000<I≤200000 | 7.5% |
200000<I≤400000 | 5% |
400000<I≤600000 | 3% |
600000<I≤1000000 | 1.5% |
I>1000000 | 1% |
根据这个表格,我将不同档位的值分别计算
代码
#include <stdio.h>
int main()
{
int profit, bonus = 0; //profit bonus
scanf("%d", &profit); //516000 0
if (profit > 1000000) //
{ //
bonus += (profit - 1000000) * 0.01; //
profit = 1000000; //
} //
if (profit > 600000) //
{ //
bonus += (profit - 600000) * 0.015; //
profit = 600000; //
} //
if (profit > 400000) //
{ //
bonus += (profit - 400000) * 0.03; // 3480
profit = 400000; //400000
} //
if (profit > 200000) //
{ //
bonus += (profit - 200000) * 0.05; // 13480
profit = 200000; //200000
} //
if (profit > 100000) //
{ //
bonus += (profit - 100000) * 0.075; // 20980
profit = 100000; //100000
} //
if (profit <= 100000) //
{ //
bonus += profit * 0.1; // 30980
profit = 0; //0
} //
printf("%d\n", bonus);
return 0;
}
9.9 分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复