C语言刷题随记 ——奖金分配-繁依Fanyi

在这里插入图片描述

题目

1. 题目描述

企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

在这里插入图片描述

2. 程序分析

请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

思路

可以尝试用数轴,脑图等工具把文中题目分成几个部分,然后使用 if 语句对各种不同的情况分开讨论。

在这里插入图片描述

题解


#include 

int main()
{
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    scanf("%ld",&i);
    bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
    bonus4=bonus2+200000*0.5;
    bonus6=bonus4+200000*0.3;
    bonus10=bonus6+400000*0.15;

    if(i<=100000) bonus=i*0.1;
    else if(i<=200000) bonus=bonus1+(i-100000)*0.075;
    else if(i<=400000) bonus=bonus2+(i-200000)*0.05;
    else if(i<=600000) bonus=bonus4+(i-400000)*0.03;
    else if(i<=1000000) bonus=bonus6+(i-600000)*0.015;
    else bonus=bonus10+(i-1000000)*0.01;

    printf("bonus=%d",bonus);

    return 0;
}


在这里插入图片描述

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容