题目:企业发放的奖金根据利润提成。 利润低于或等于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%提成。 从键盘输入当月利润数,求应发放奖金总数?
思路:根据输入的利润数,使用if语句判断利润的范围,然后根据不同情况进行计算。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include <stdio.h> int main () { int input = 0 ; int bonus = 0 ; printf ("请输入利润:->" ); scanf ("%d" ,&input); if (input<=100000 ) { bonus = input * 0.1 ; } else if (input<=200000 ) { bonus = 100000 * 0.1 + (input - 100000 ) * 0.075 ; } else if (input<=400000 ) { bonus = 100000 * 0.1 + 100000 * 0.075 + (input - 200000 ) * 0.05 ; } else if (input<=600000 ) { bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (input - 400000 ) * 0.03 ; } else if (input<=1000000 ) { bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (input - 600000 ) * 0.015 ; } else { bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 +(input - 1000000 ) * 0.01 ; } printf ("%d\n" ,bonus); return 0 ; }
改进上面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include <stdio.h> int main () { int input = 0 ; int bonus = 0 ; int bonus1 = 100000 * 0.1 ; int bonus2 = bonus1 + 100000 * 0.075 ; int bonus3 = bonus2 + 200000 * 0.05 ; int bonus4 = bonus3 + 200000 * 0.03 ; int bonus5 = bonus4 + 400000 * 0.015 ; printf ("请输入利润:->" ); scanf ("%d" ,&input); if (input<=100000 ) { bonus = input * 0.1 ; } else if (input<=200000 ) { bonus = bonus1 + (input - 100000 ) * 0.075 ; } else if (input<=400000 ) { bonus = bonus2 + (input - 200000 ) * 0.05 ; } else if (input<=600000 ) { bonus = bonus3 + (input - 400000 ) * 0.03 ; } else if (input<=1000000 ) { bonus = bonus4 + (input - 600000 ) * 0.015 ; } else { bonus = bonus5 +(input - 1000000 ) * 0.01 ; } printf ("%d\n" ,bonus); return 0 ; }