// 2. 题目:企业发放的奖金根据利润提成。
//利润(I)低于或等于10万元时,奖金可提10%;
//利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
//20万到40万之间时,高于20万元的部分,可提成5%;
//40万到60万之间时,高于40万元的部分,可提成3%;
//60万到100万之间时,高于60万元的部分,可提成1.5%,
//高于100万元时,超过100万元的部分按1%提成,
//从键盘输入当月利润I,求应发放奖金总数?
#include<stdio.h>
#include<math.h>
//str[6]={0,10000,7500,10000,6000,6000}
int main()
{
long long int I,salary=0;
scanf("%lld",&I);
if(I<=100000)
salary=I*0.1;
else if(I>100000 && I<=200000)
salary=(I-100000)*0.075 + 10000;
else if(I>200000 && I<=400000)
salary=(I-200000)*0.05+10000+7500;
else if(I>400000 && I<=600000)
salary=(I-400000)*0.03+10000+7500+10000;
else if(I>600000 && I<=1000000)
salary=(I-600000)*0.015+10000+7500+10000+6000;
else if(I>1000000)
salary=(I-1000000)*0.01+10000+7500+10000+6000+6000;
printf("%lld",salary);
return 0;
}
测试用例
// cin cout
// 120000 11500
// 220000 18500
// 1258000 42080
// 1456700 44067
方法二
#include<stdio.h>
int main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;
bonus2=bonus1+100000*0.075;
bonus4=bonus2+200000*0.05;
bonus6=bonus4+200000*0.03;
bonus10=bonus6+400000*0.015;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("\n bonus=%d",bonus);
return 0;
}