解题思路:原题:
企业发放的奖金根据利润提成。利润低于或等于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,求应发奖金总数。
我们题目所中,可看出奖金是按照利润所发的。我们可以使用if分支语句来使用。要得到利润,我们要看清题目。
我们可以假设一个x;
首先,题目说“利润低于或等于100000,奖金可提10%”,那么我们可以计算:x<=x*0.1(10%)
接下来我们可以再看“利润高于100000元,低于200000元(100000<x<=200000),低于100000的部分按10%提成,高于100000元的部分,可提成7.5%",可计算成100000*0.1+(x-100000)*0.075;则可以以上面的理解延续下去(详细看代码)
注意事项:
不能了解题目表面的理解,要深沉的了解题目意思,最好记录一下草稿,先算结果
计算比较复杂,需要耐心
参考代码:
#include<iostream>
using namespace std;
int main()
{
int x;
cin>>x;
if(x<=100000)
{
cout<<x*0.1;
}
else if(x>100000&&x<=200000)
{
cout<<100000*0.1+(x-100000)*0.075;
}
else if(x>200000&&x<=400000)
{
cout<<100000*0.1+100000*0.075+(x-200000)*0.05;//因为是大于200000,那么我们要先算出100000的10%和另一个100000的7.5%
}
else if(x>400000&&x<=600000)
{
cout<<100000*0.1+100000*0.075+200000*0.05+(x-400000)*0.03;//因为是大于400000,以上面的200000为例后,减去还另一个200000*5%
}
else if(x>600000&&x<=1000000)
{
cout<<100000*0.1+100000*0.075+200000*0.05+200000*0.03+(x-600000)*0.015;//以此类推,那么还是剩下200000*5%,另一个200000*3%
}
else
{
cout<<100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(x-1000000)*0.01;
}//以此类推,那么减去后还剩400000,乘以1.5%,再减去(x-1000000)*1%由此得出结果
return 0;
}
//本人代码已过,可放心使用哟
0.0分
8 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:693 |
【明明的随机数】 (C语言代码)浏览:845 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2121 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |
1124题解浏览:630 |
出圈】指针malloc版浏览:377 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:742 |
交换Easy (C语言代码)浏览:805 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1170 |