题目:根据当月利润,求应发放奖金总数

题目描述:       

        企业发放的奖金根据利润提成。

  1.        利润低于或等于10万元时,奖金可提10%;
  2.        利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,   可提成7.5%;
  3.        20万到40万之间时,高于20万元的部分,可提成5%;
  4.        40万到60万之间时高于40万元的部分,可提成3%;
  5.        60万到100万之间时,高于60万元的部分,可提成1.5%;
  6.        高于100万元时,超过100万元的部分按1%提成。

从键盘输入当月利润,求应发放奖金总数?

程序分析: 根据利润所属不同级别 ,且有重叠,使用if...else if处理。编写伪代码:

  • 读取利润
  • 计算各级别应发奖金数
  • 判断输入(if...else if) ,计算发放奖金总数(提成+奖金)
  • 输出 

代码实现:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
	double prof; //当月利润
	//double bonus1, bonus2, bonus3, bonus4, bonus5;//各标准下应发奖金数
	double total=0;//总数

	printf("请输入当月净利润 :");
	scanf("%lf", &prof);

	/* 利润低于或等于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%提成。*/

	if (prof <= 100000)
		total = prof * 0.1;
	else if (prof <= 200000)
		total = 100000 * 0.1 + (prof - 100000) * 0.075;
	else if (prof <= 400000)
		total = 100000 * 0.1 + 100000 * 0.075 + (prof - 200000) * 0.05;
	else if (prof <= 600000)
		total = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (prof - 400000) * 0.03;
	else if (prof <= 1000000)
		total = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (prof - 600000) * 0.015;
	else if (prof > 1000000)
		total = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (prof - 1000000) * 0.01;

	printf("应发奖金总数为:%lf", total);
	
	return 0;
}

运行结果:

请输入当月净利润 :120000
应发奖金总数为:11500.000000
D:\program\usual\vs\cdy\Debug\cdy.exe (进程 6236)已退出,代码为 0。
按任意键关闭此窗口. . .

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 根据题目,我们可以将利润分段计算提成。假设当月利润为i万元,则应发放奖金总数为: 当 i<=10 时,奖金总数为 i*.1 当 10<i<=20 时,奖金总数为 10*.1 + (i-10)*.075 当 20<i<=40 时,奖金总数为 10*.1 + 10*.075 + (i-20)*.05 当 40<i<=60 时,奖金总数为 10*.1 + 10*.075 + 20*.05 + (i-40)*.03 当 60<i<=100 时,奖金总数为 10*.1 + 10*.075 + 20*.05 + 20*.03 + (i-60)*.015 当 i>100 时,奖金总数为 10*.1 + 10*.075 + 20*.05 + 20*.03 + 40*.015 + (i-100)*.01 将上述公式代入当月利润i,即可得到应发放奖金总数。 ### 回答2: 首先,我们需要根据利润水平判断奖金的提成比例。下面是各个利润区间的提成比例: - 利润小于或等于10万元:10% - 利润大于10万元,小于等于20万元:10% + (利润-10万) * 7.5% - 利润大于20万元,小于等于40万元:10% + 10万 * 7.5% + (利润-20万) * 5% - 利润大于40万元,小于等于60万元:10% + 10万 * 7.5% + 20万 * 5% + (利润-40万) * 3% - 利润大于60万元,小于等于100万元:10% + 10万 * 7.5% + 20万 * 5% + 20万 * 3% + (利润-60万) * 1.5% - 利润大于100万元:10% + 10万 * 7.5% + 20万 * 5% + 20万 * 3% + 40万 * 1.5% + (利润-100万) * 1% 根据上述公式,我们可以编写一个计算奖金的函数: def calculate_bonus(profit): if profit <= 100000: return profit * 0.1 elif profit <= 200000: return 10000 + (profit - 100000) * 0.075 elif profit <= 400000: return 17500 + (profit - 200000) * 0.05 elif profit <= 600000: return 27500 + (profit - 400000) * 0.03 elif profit <= 1000000: return 41500 + (profit - 600000) * 0.015 else: return 66500 + (profit - 1000000) * 0.01 其中,根据利润水平分别计算出各个区间的奖金,最后将各个区间的奖金相加得到总奖金。例如,如果当月利润为80万元,那么总奖金为: 10万 * 10% + 10万 * 7.5% + 20万 * 5% + 20万 * 3% + 20万 * 1.5% + 10万 * 1% = 1.1万 + 7500 + 10000 + 6000 + 3000 + 1000 = 38600元 因此,当月发放奖金总数为38600元。 ### 回答3: 企业发放奖金根据利润提成,需要先计算出每个利润区间对应的提成金额,再根据输入的当月利润i来分别计算。以下是具体计算方法: 当利润(i)<=10万元时,奖金 = 利润(i) * 10% 当10万元<利润(i)<=20万元时,奖金 = 10万元 * 10% + (利润(i)-10万元) * 7.5% 当20万元<利润(i)<=40万元时,奖金 = 10万元 * 10% + 10万元 * 7.5% + (利润(i)-20万元) * 5% 当40万元<利润(i)<=60万元时,奖金 = 10万元 * 10% + 10万元 * 7.5% + 20万元 * 5% + (利润(i)-40万元) * 3% 当60万元<利润(i)<=100万元时,奖金 = 10万元 * 10% + 10万元 * 7.5% + 20万元 * 5% + 20万元 * 3% + (利润(i)-60万元) * 1.5% 当利润(i)>100万元时,奖金 = 10万元 * 10% + 10万元 * 7.5% + 20万元 * 5% + 20万元 * 3% + 40万元 * 1.5% + (利润(i)-100万元) * 1% 将以上对应的奖金金额相加即为总奖金数。例如,当月利润为80万元时,通过以上公式计算,应发放奖金总数为: 10万元*10% + 10万元*7.5% + 20万元*5% + 20万元*3% + 40万元*1.5% + 20万元*1.5% + 80万元-100万元*1% = 6.05万元 因此,当月利润为80万元时,应发放奖金总数为6.05万元。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值