C语言上机题(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,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型。

思路:此题,我们首先考虑到此题要用double型数据,而且题目要求利用数轴分界,其次,公司提成的发放是根据利润分段来计算的,那我们就需要仔细分析各个段的利润所给的提成占百分比为多少,分别计算出各个段的提成,最后根据我们所输入的利润所在段,计算出应发放的奖金数。
代码展示如下:

#include <stdio.h>
int main() {
	//定义变量i,为当月的利润
	double i; 
	//根据利润分段,定义出各个段的提成变量,其中a为最终所求提成
	double a1, a2, a4, a6, a10, a;
	//这里的输入单位为:元
	printf("当月利润为:\n"); 
	//  输入当月的利润,注意这里是double型,所以是%lf
	scanf("%lf", &i); 
	// 利润高于10万元,低于20万元时,低于10万元的部分按10%提成
	a1 = 100000 * 0.1; 
	//利润高于10万元,低于20万元时,高于10万元的部分,可提成7.5%
	a2 = a1 + 100000 * 0.075;
	//20万到40万之间时,高于20万元的部分,可提成5%;
	a4 = a2 + 200000 * 0.05;
	//40万到60万之间时高于40万元的部分,可提成3%
	a6 = a4 + 200000 * 0.03; 
	//60万到100万之间时,高于60万元的部分,可提成1.5%
	a10 = a6 + 400000 * 0.015; 
	if (i <= 100000) {
		a = i * 0.1;
		//当利润低于10万元时
	}
	else if (i <= 200000) {
		a = a1 + (i - 100000) * 0.075; 
		//当利润高于10万,低于20万元时
	}
	else if (i <= 400000) {
		a = a2 + (i - 200000) * 0.05; 
		// 当利润高于20万元,低于40万元时
	}
	else  if (i <= 600000) {
		a = a4 + (i - 400000) * 0.03; 
		//当利润高于40万元,低于60万元时
	}
	else if (i <= 1000000) {
		a = a6 + (i - 600000) * 0.015; 
		//当利润高于60万元,低于100万元时
	}
	else if (i > 1000000) {
		a = a10 + (i - 1000000) * 0.01; 
		//当利润高于100万元时
	}
	printf("当月提成为:%lf\n", a);
		return 0;
}

通过以上代码,我们成功实现题目要求,当利润为120000元时,我们应该得到11500元的提成,代码运行结果如下:在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值