解题思路:初学者,第一次尝试用递归的方式解题,如果有大佬看见希望指导一下。语言组织能力较差,望谅解。
在函数compute中 当利润小于或等于100000时,返回奖金的值为利润的10%。
当利润高于100000元,低于200000元(100000<I≤200000)时,低于100000部分的按10%提成,其实也就是100000的百分之10,所以将100000传入函数compute中也得到了低于100000部分的提成,然后与高出100000部分的利润提成7.5%,用利润减去100000乘0.75,再加上函数compute得到低于100000部分的提成就得到了应得的利润。每个等级的利润原理同样。
注意事项:
参考代码:
#include <stdio.h>
int compute(int profit)
{
if(profit <= 100000)
{
return profit * 0.1;
} else if (profit > 100000 && profit <= 200000){
return (profit - 100000) * 0.075 + compute(100000);
} else if (profit > 200000 && profit <= 400000){
return (profit - 200000) * 0.05 + compute(200000);
} else if (profit > 400000 && profit<=600000){
return (profit - 400000) * 0.03 + compute(400000);
} else if (profit > 600000 && profit <= 1000000){
return (profit - 600000) * 0.015 + compute(600000);
} else {
return (profit-1000000) * 0.01 + compute(1000000);
}
}
int main()
{
int profit,bonus;
scanf("%d",&profit);
bonus = compute(profit);
printf("%d",bonus);
return 0;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复