A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© coding_wang 中级黑马   /  2015-9-9 23:49  /  1467 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

//尝试用switch的case穿透来完成
#include <stdio.h>
void a2()
{
        long int i;
        double money=0;
        printf("请输入利润值:");
        scanf("%ld",&i);
        if (i>1000000)                                                //由于没有上限,无法罗列case的值,所以将大于一百万的数单独计算
        {
                money = (i-1000000)*0.01;
                i=1000000;
        }
        switch(i/100000)                                        //将利润值除以十万,都是int型数字,其结果也是0-10的整数。
        {
        case 10:
        case 9:
        case 8:
        case 7:
        case 6:
                money += (i-600000)*0.015;               
                i=600000;                                                //计算大于六十万的奖金,利用穿透计算低于六十万的奖金值。
        case 5:
        case 4:
                money += (i-400000)*0.03;
                i=400000;                                                //计算大于四十万的奖金,利用穿透计算低于四十万的奖金值。
        case 3:
        case 2:
                money += (i-200000)*0.05;
                i=200000;
        case 1:
                money += (i-100000)*0.075;
                i=100000;
        default:
                money += i*0.03;
        }
        printf("应发放的奖金额度为:%10.0lf.\n",money);
}
//最后证明老板很抠门~!

6 个回复

倒序浏览
最后一句亮了
回复 使用道具 举报
学到啦,好厉害啊
回复 使用道具 举报
学得很好啊,技术不错
回复 使用道具 举报
赞一下!!!我以为奖金很高啊
回复 使用道具 举报
不错啊,加油!
回复 使用道具 举报
tr2e 中级黑马 2015-9-10 11:08:26
7#
顶交流贴
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马