C语言OJ项目参考(1030)求奖金总数

    xiaoxiao2026-01-30  3

    (1030)求奖金总数 Description 企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(100000<I200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%; 200000<I400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成; 400000<I600000元时,高于400000元的部分按3%提成;600000<I1000000时,高于600000元的部分按1.5%提成; I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。 Input 一个整数,当月利润。 Output 一个整数,奖金。 Sample Input 900 Sample Output 90 HINT 用Switch要比用if的看起来更清晰。 [参考解答]

    #include <stdio.h> #include <math.h> int main ( ) { int profit, capital; int t; scanf("%d",&profit); t=(profit-1)/100000; switch(t) { case 0: capital=profit*0.1; break; case 1: capital=(profit-100000)*0.075+100000*0.1; break; case 2: case 3: capital=(profit-200000)*0.05+100000*0.1+100000*0.075; break; case 4: case 5: capital=(profit-400000)*0.03+100000*0.1+100000*0.075+200000*0.05; break; case 6: case 7: case 8: case 9: capital=(profit-600000)*0.015+100000*0.1+100000*0.075+200000*0.05+200000*0.03; break; default: capital=(profit-1000000)*0.01+100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015; } printf("%d\n",capital); return 0; }
    最新回复(0)