题目二:
企业发放的奖金根据利润提成。利润(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#include int main() { float i; printf("请输入当月的利润i(万元)"); do{ scanf("%f",&i); }while(i<=0 &&printf("请重新输入利润")); if(i<=10) { printf("奖金总数为%f万元",i*(1+0.1)); } else if(i<=20) { printf("奖金总数为%f万元",10*(1+0.1)+(i-10)*(1+0.75)); } else if(i<=40) { printf("奖金总数为%f万元",10*(1+0.1)+10*(1+0.75)+(i-20)*(1+0.05)); } else if(i<=60) { printf("奖金总数为%f万元",10*(1+0.1)+10*(1+0.75)+20*(1+0.05)+(i-40)*(1+0.03)); } else if(i<=100) { printf("奖金总数为%f万元",10*(1+0.1)+10*(1+0.75)+20*(1+0.05)+20*(1+0.03)+(i-60)*(1+0.015)); } else if(i>100) { printf("奖金总数为%f万元",10*(1+0.1)+10*(1+0.75)+20*(1+0.05)+20*(1+0.03)+40*(1+0.015)+(i-100)*(1+0.01)); } }
其实个人感觉这段代码有些啰嗦,要是有更好的方法,欢迎评论区评论。我在原先的题目上加入了当输入为负数的处理手段。但是底下分类的情况暂时只能想到用if来进行,要是有别的方法,也欢迎留言。



