专升本练习题 2

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

题目分析:题目较长,但是难度不大,主要可使用if-else或者switch case 两种方法实现,更多的是推出这一题的所对应的每个区间的对应公式,在去将对应的利润带入到公式中计算

I > 100万元,奖金 = 10 × 10% + 10 × 7.5% + 20 × 5% + 20 × 3% + 40 × 1.5% + (I - 100) × 1%

60万元 < I ≤ 100万元,奖金 = 10 × 10% + 10 × 7.5% + 20 × 5% + 20 × 3% + (I - 60) × 1.5%

40万元 < I ≤ 60万元,奖金 = 10 × 10% + 10 × 7.5% + 20 × 5% + (I - 40) × 3%

20万元 < I ≤ 40万元,奖金 = 10 × 10% + 10 × 7.5% + (I - 20) × 5%

10万元 < I ≤ 20万元,奖金 = 10 × 10% + (I - 10) × 7.5%

I ≤ 10万元,奖金 = I × 10%

注意要点:本题的数据较大也较为精细,要细心的确定要数据以及细心的确定好数据的类型

具体代码(if-else):

#include <stdio.h>

main(){ 
	double i,j=0;
	scanf("%lf",&i);
	if(i>1000000){
		j+=100000*0.10+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(i-1000000)*0.01;
	}
	else if(i>600000 && i<=1000000){
		j+=100000*0.10+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015;
	}
	else if(i>400000 && i<=600000){
		j+=100000*0.10+100000*0.075+200000*0.05+(i-400000)*0.03;
	}
	else if(i>200000 && i<=400000){
		j+=100000*0.10+100000*0.075+(i-200000)*0.05;
	}
	else if(i>100000 && i<=200000){
		j+=100000*0.10+(i-100000)*0.075;
	}
	else{
		j+=i*0.1;
	}
	printf("%.2lf",j);
} 

具体代码(switch case):

#include <stdio.h>

int main() { 
    double i,j=0; 
    scanf("%lf",&i);
    int k=i/100000;
    switch(k){
    	case 10: j+=100000*0.10+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(i-1000000)*0.01;
    		break;
    	case 9:
    	case 8:
    	case 7:
    	case 6: j+=100000*0.10+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015;
    		break;
    	case 5:
    	case 4: j+=100000*0.10+100000*0.075+200000*0.05+(i-400000)*0.03;
    		break;
    	case 3:
    	case 2: j+=100000*0.10+100000*0.075+(i-200000)*0.05;
    		break;
    	case 1: j+=100000*0.10+(i-100000)*0.075;
    		break;
    	default: j+=i*0.1;
    }
    printf("%.2lf",j);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值