解题思路:/*企业发放的奖金根据利润I提成。
利润I低于或等于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,求应发奖金总数。*/
注意事项: 要仔细看题目 有些不变的值可以定义一个常量替代
例如:const int B=100 在整个程序中B的值就为100
奖金是分段的,每到一个挡位需要加上前面个档位之和
例如:100*0.1+(200-100)*0.02
数字与字母中间要有运算符,不然会出错
例如:2*b 3/b
参考代码:
#include<stdio.h>
int main()
{
int i,sum;
const int B=100000;
scanf("%d",&sum);
if(sum<=100000)
{
i=sum*0.1;
}
else if(sum<=200000&&sum>100000)
{
i=B*0.1+(sum-B)*0.075;
}
else if(sum<=400000&&sum>200000)
{
i=B*0.1+B*0.075+(sum-2*B)*0.05;
}
else if(sum<=600000&&sum>400000)
{
i=B*0.1+B*0.075+2*B*0.05+(sum-4*B)*0.03;
}
else if(sum<=1000000&&sum>600000)
{
i=B*0.1+B*0.075+2*B*0.05+2*B*0.03+(sum-6*B)*0.015;
}
else
{
i=B*0.1+B*0.075+2*B*0.05+2*B*0.03+4*B*0.015+((sum-10*B)*0.01);
}
printf("%d\n",i);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复