题目

  企业发放的奖金根据利润提成。利润低于或等于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%

  根据这个表格,我将不同档位的值分别计算

代码

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int profit, bonus = 0; //profit bonus
  5. scanf("%d", &profit); //516000 0
  6. if (profit > 1000000) //
  7. { //
  8. bonus += (profit - 1000000) * 0.01; //
  9. profit = 1000000; //
  10. } //
  11. if (profit > 600000) //
  12. { //
  13. bonus += (profit - 600000) * 0.015; //
  14. profit = 600000; //
  15. } //
  16. if (profit > 400000) //
  17. { //
  18. bonus += (profit - 400000) * 0.03; // 3480
  19. profit = 400000; //400000
  20. } //
  21. if (profit > 200000) //
  22. { //
  23. bonus += (profit - 200000) * 0.05; // 13480
  24. profit = 200000; //200000
  25. } //
  26. if (profit > 100000) //
  27. { //
  28. bonus += (profit - 100000) * 0.075; // 20980
  29. profit = 100000; //100000
  30. } //
  31. if (profit <= 100000) //
  32. { //
  33. bonus += profit * 0.1; // 30980
  34. profit = 0; //0
  35. } //
  36. printf("%d\n", bonus);
  37. return 0;
  38. }
点赞(1)
 

9.9 分

3 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

Catshao 4年前 回复TA
潘老师?