(8)求解分段函数
设某公司的业务员业绩的计算方法为:工资=基本底薪+奖金。
其中,奖金的计算为:
当业绩在10000元以下时,只发基本底薪1000元;
当业绩在10000元以上时,才可以拿奖金。
提成比率为:
当业绩在20000元以下时,超出10000元的部分可按照5%计算奖金;
当业绩在20000元以上50000元以下时,超出20000元部分可按照6%计算奖金;
当业绩在50000元以上100000元以下时,超出50000元的部分可以按照7%计算奖金;
当业绩在100000元以上时,超出100000元的部分可按照8%计算奖金。
编写程序:输入一个业务员的销售额,计算其应发的工资额。
要求:每行都要有注释。
如果对于奖金部分题意理解没有错误,下面是一个实现:
#include <stdio.h> //printf函数头文件
int main(void){ //程序入口程序main函数
double baseMoney = 1000; //基本工资
double allMoney = 0; //总工资
double bonusMoney = 0; //奖金
double achievement ; //业绩
printf("请输入业绩:\n"); //获取业绩的提示信息
scanf("%lf",&achievement) ; //获取业绩输入
if(achievement<=10000){ //如果业绩小于10000
allMoney = baseMoney; //总工资为基本工资
}else if(achievement<=20000){ //如果业绩大于20000 小于50000
allMoney = baseMoney + (double)(achievement-10000)*0.05; //总工资为基本工资,加上大于10000部分的奖金
}else if(achievement<=50000){ //如果业绩大于20000,小于50000
//则工资为基本工资加上大于20000小于50000部分奖金 ,加10000到20000部分的奖金
allMoney = baseMoney + (double)(achievement-20000)*0.06+ 10000*0.05;
}else if(achievement<=100000){ //如果业绩大于50000小于10000
// 则工资为基本工资,加上大于50000小于10000部分奖金,加20000到50000部分奖金,加10000到20000部分奖金
allMoney = baseMoney + (double)(achievement-50000)*0.07 + 30000*0.06 + 10000*0.05;
}else{ //如果业绩大于100000
//则工资为基本工资,加上大于100000部分奖金,加上50000到100000部分奖金,加20000到50000部分奖金,加10000到20000部分奖金
allMoney = baseMoney + (double)(achievement-100000)*0.08 + 50000*0.07+30000*0.06+10000*0.05;
}
//打印结果
printf("业绩为:%.2lf, 应发工资为:%.2lf .\n",achievement,allMoney);
//main函数退出
return 0;
} //main函数结束