C语言编写根据利润计算奖金总数程序源码

题目如下

10.企业发放的奖金根据利润提成。利润Ⅰ低于或等于100 000元的,奖金可提成10%;利润高于100 000元,低于200 000元(100 000<I≤200 000)时,低于100 000元的部分按10%提成,高于100 000元的部分,可提成7.5%; 200 000<I≤400 000时,低于200 000元的部分仍按上述办法提成(下同)。高于200 000元的部分按5%提成;400 000<I≤600 000元时,高于400 000元的部分按3%提成;600 000<I<1 000 000时,高于600 000元的部分按1.5%提成;I>1000 000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。要求:(1)用if语句编程序;(2)用switch语句编程序。

使用IF语句编写

#include <stdio.h>

int main() {
    double profit, bonus;
    printf("请输入当月利润:");
    scanf("%lf", &profit);
    
    if (profit <= 100000) {
        bonus = profit * 0.1;
    } else if (profit <= 200000) {
        bonus = 100000 * 0.1 + (profit - 100000) * 0.075;
    } else if (profit <= 400000) {
        bonus = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05;
    } else if (profit <= 600000) {
        bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03;
    } else if (profit <= 1000000) {
        bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015;
    } else {
        bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01;
    }
    
    printf("应发奖金总数为:%.2f\n", bonus);
    return 0;
}

用户需要输入当月利润,然后根据利润计算应发奖金总数。根据利润的不同范围,使用不同的提成比例进行计算。最后输出应发奖金总数。

使用switch语句编写

#include <stdio.h>

int main() {
    double profit, bonus;
    printf("请输入当月利润:");
    scanf("%lf", &profit);

    int level = 1; // 利润级别,默认为1

    if (profit > 1000000) {
        level = 6;
    } else if (profit > 600000) {
        level = 5;
    } else if (profit > 400000) {
        level = 4;
    } else if (profit > 200000) {
        level = 3;
    } else if (profit > 100000) {
        level = 2;
    }

    switch (level) {
        case 6:
            bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01;
            break;
        case 5:
            bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015;
            break;
        case 4:
            bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03;
            break;
        case 3:
            bonus = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05;
            break;
        case 2:
            bonus = 100000 * 0.1 + (profit - 100000) * 0.075;
            break;
        default:
            bonus = profit * 0.1;
            break;
    }

    printf("应发奖金总数为:%.2f\n", bonus);
    return 0;
}

该程序首先根据利润的大小确定利润级别(level),然后使用Switch语句根据不同的级别计算应发奖金总数。最后,将结果输出。

PS:请注意,上面两个程序假设输入的利润是合法且正确的,没有对输入进行错误处理。在实际应用中,可能需要对输入进行验证和异常处理,以确保程序的稳定性和安全性。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享