C程序12 计算奖金

程序12 计算奖金

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

自己理解:采用case语句,分别计算每一个利润范围获得的具体奖金。其中2种计算方法:

  1. 累加计算,如代码1,sum=sum(前面范围奖金的总和)+当前超出范围奖金。
  2. 最基础的加法,列出每个范围应得的奖金,之后相加,
    两种都差不多,第2种不容易出错,比较直白。

代码1

#include <stdio.h>
int main()
{
		int z,i;
		float sum=0;
		printf("输入利润:");
		scanf("%d",&i);
		if(i<=100000)
		z=1;
		else if(i<=200000&&i>100000)
		z=2;
		else if(i<=400000&&i>200000)
		z=3;
		else if(i<=600000&&i>400000)
		z=4;
		else if(i<=1000000&i>600000)
		z=5;
		else if(i>1000000)
		z=6;
		switch(z)
		{
		case 6:
			sum+=(i-1000000)*0.01;
			i=1000000; 
		case 5:
			sum+=(i-600000)*0.015;
			i=600000;
		case 4:
			sum+=(i-400000)*0.03;
			i=400000;
		case 3:
			sum+=(i-200000)*0.05;
			i=200000;
		case 2:
			sum+=(i-100000)*0.075;
			i=100000;
		case 1:
		    sum+=i*0.1;
		break;
		}
		printf("Bonus=%lf",sum);
		return 0;
}

运行结果

在这里插入图片描述

代码2

#include<stdio.h>
int main(void)
{
	double I = 0, Bonus = 0;
	printf("Please input Profit I= ");
	scanf("%lf", &I);

	if(I <= 0)
	{
	    printf("not bonus!\n");
	    return 0;
	}
	I /= 10000;
	
	switch((int)(I/10))
	{
	case 0:
	        Bonus = I * 0.1;
			break;
	case 1:
			Bonus = 10 * 0.1 + (I - 10) * 0.075;
			break;
	case 2:
	case 3:
			Bonus = 10 * 0.1 + 10 * 0.075 + (I - 20) * 0.05;
			break;
	case 4:
	case 5:
			Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (I - 40) * 0.03;
			break;
	case 6:
	case 7:
	case 8:
	case 9:
			Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (I - 60) * 0.015;
			break;
	default:
        	Bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.06 + 20 * 0.03 + 40 * 0.015 + (I - 100) * 0.01;
	break;
	}
	Bonus = Bonus * 10000;//为方便计算前面,化成万元,现在要换算回来,乘10000
	printf("The Bonus = %lf\n", Bonus);
	return 0;
} 

运行结果

在这里插入图片描述

验证
如果利润65万元,则奖金
=1000000.1+1000000.075+2000000.05+2000000.03+50000*0.015
=10000+7500+10000+6000+750
=34250

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zm_960810/article/details/85864157
今日推荐