C奖金提成

【id:38】【20分】C. 奖金提成(选择)

题目描述

企业发放的奖金根据利润提成,如下规则

利润≤10000元时,奖金可提10%;

10000<利润≤20000时,低于10000元的部分按10%提成,高于10000元的部分,可提成 7.5%;

20000<利润≤40000时,低于20000元部分仍按上述办法提成,(下同),高于20000元的部分按5%提成;

40000<利润≤60000元时,高于40000元的部分按3%提成;

60000<利润≤100000时,高于60000元的部分按1.5%提成;

利润>100000时,超过100000元的部分按1%提成

注意奖金是整数,无小数

要求:用switch实现。

输入

第一行输入T表示有T个测试实例

第二行起,每行输入一个数据(正整数且小于10的10次方)表示利润,连续输入T行

输出

每行输出应得的奖金

这一题的难点在于“用switch实现”!!!

我们不可能一个一个case去把0到10万多的数全部写出来(必须想想有什么技巧)

因此我们可以发现在某一个区间内的数的第一个数字都是一样的

所以我们可以这样

case:这个数/10000;

如下

#include<stdio.h>
int main()
{
    int i,t,j,y;
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        scanf("%d",&j);
        switch(j/10000)
        {
            case 0:y=j*0.1;break;
            case 1:y=10000*0.1+(j-10000)*0.075;break;
            case 2:case 3:y=1000+750+(j-20000)*0.05;break;
            case 4:case 5:y=1000+750+1000+(j-40000)*0.03;break;
            case 6:case 7:case 8:case 9:y=1000+750+1000+600+(j-60000)*0.015;break;
            case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:
                y=1000+750+1000+600+600+(j-100000)*0.01;break;
        }
        printf("%d\n",y);

    }

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZZWWWFFF_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值