谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(if)

原创 2016年05月31日 20:22:45

谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成。

利润I低于或等于10万元的,奖金可提10%;200000<I<=400000时,低于20万远的部分低按上述办法提成(下同)。高于20万元的部分5%提成;400000<I<=600000时,高于40万元的部分按3%提成;600000<I<=1000000时,高于60万元的部分按1.5%提成;I>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。

想了几天做不出来,后来参考了谭浩强教授版《C程序设计题解与上机指导》(第二版)P30,书上程序有错误,修改后如下:

#include<stdio.h>//P105 5.8企业发放的奖金根据利润提成。 
int main()
{
	float I,bonus,bon1,bon2,bon4,bon6,bon10;
	printf("请输入奖金的数值:");
	scanf("%f",&I);
	fflush(stdin);
		
	bon1=100000*0.1;//利润等于10W时的奖金
	bon2=bon1+100000*0.075;//利润等于20W时的奖金
	bon4=bon2+200000*0.05;//利润等于40W时的奖金
	bon6=bon4+200000*0.03;//利润等于60W时的奖金
	bon10=bon6+400000*0.015;//利润等于100W时的奖金
	if(I<=100000)
	{
		bonus=I*0.1;printf("执行档次为:I<=100000,奖金为:%0.1f\n",bonus);
	}
	else if(I<=200000)
	{
		bonus=bon1+(I-100000)*0.075;printf("执行档次为:100000<I<=200000,奖金为:%0.1f\n",bonus);
	}
	else if(I<=400000)
	{
		bonus=bon2+(I-200000)*0.05;printf("执行档次为:200000<I<=400000,奖金为:%0.1f\n",bonus);
	}
	else if(I<=600000)
	{
		bonus=bon4+(I-400000)*0.03;printf("执行档次为:400000<I<=600000,奖金为:%0.1f\n",bonus);
	}
	else if(I<=1000000)
	{
		bonus=bon6+(I-600000)*0.015;printf("执行档次为:600000<I<=1000000,奖金为:%0.1f\n",bonus);
	}
	else 
	{
		bonus=bon10+(I-1000000)*0.01;printf("执行档次为:I>1000000,奖金为:%0.1f\n",bonus);
	}
	return 0;
}
	 

谭浩强教授版《C程序设计题解与上机指导》(第二版)P30,书上程序错误出现在:bon4和bon6的算法,写成了:

bon4=bon2+100000*0.05;//利润等于40W时的奖金

bon6=bon4+100000*0.03;//利润等于60W时的奖金

根据题意应该改为:

bon4=bon2+200000*0.05;//利润等于40W时的奖金

bon6=bon4+200000*0.03;//利润等于60W时的奖金

我刚开始在编写程序的时候犯了错误,比如234000这个数据,我刚开始是这样理解的:

234000=

(34000是利润小于10W的数据,提成10%)+

(10W符合利润等于10万元,按10%提成)+

(10W符合利润高于10万元,低于20万元,按7.5%提成)。

真是大误呀!真是大误呀!真是大误呀!

错的不像话呀!错的不像话呀!错的不像话呀!

正确的:

234000=

(10W是利润小于等于10W的数据,提成10%)+

(10W符合利润高于10W,小于等于20W,按7.5%提成)+

(34000符合利润等于高于20W,按5%提成)。


道理想通了其实不难。

版权声明:本文为博主原创文章,未经博主允许不得转载。

谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(switch)

谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成。 利润I低于或等于10万元的,奖金可提10%;200000高于20万元的部分5%提成;400000I>100000...
  • qslife
  • qslife
  • 2016年05月31日 23:17
  • 1885

【c语言】企业发放的奖金根据利润提成。

// 企业发放的奖金根据利润提成。 // i
  • zhaoyaqian552
  • zhaoyaqian552
  • 2015年04月23日 12:33
  • 6770

企业发放奖金根据企业的当年利润决定。

企业发放奖金根据企业的当年理论决定。当利润(以I)表示低于或等于100000元时,奖金可提10%;利润大于100000元,小于200000元时,低于100000元的部分按10%提成,高于100000的...
  • qq_35882931
  • qq_35882931
  • 2016年08月19日 07:59
  • 4983

算法:企业发放的奖金根据利润提成

题目:企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时,奖金可提10%; 高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到...
  • baishuiniyaonulia
  • baishuiniyaonulia
  • 2017年09月10日 12:09
  • 520

Python基础练习——组合输出、利润奖金问题

组合输出、利润奖金问题
  • LYYCasablanca000
  • LYYCasablanca000
  • 2017年02月09日 14:50
  • 416

python根据利润计算奖金

运行结果: 总结:一开始看到该题目,第一反应是用递归,但思考了一阵子又觉得不对。但是!总觉得该题目还有简洁的方法,但是没有思路,暂时就用笨办法先实现功能吧,后续有了新思路再写。...
  • Guo_Apple
  • Guo_Apple
  • 2017年03月31日 09:51
  • 1036

java代码实现企业发放的奖金根据利润提成问题

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万...
  • iamdingruihaha
  • iamdingruihaha
  • 2017年07月06日 11:11
  • 661

五十道编程小题目 --- 12 企业发放的奖金根据利润提成 java

【程序12】  题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万 元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7...
  • wangnanwlw
  • wangnanwlw
  • 2016年08月25日 17:30
  • 3068

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

案例:企业发放的奖金根据利润提成。
  • lanxin0802
  • lanxin0802
  • 2017年04月18日 20:30
  • 1014

Python根据利润算奖金

""" 题目:企业发放的奖金根据利润提成。利润 (I) : 低于或等于 10 万元时,奖金可提 10%; 高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的...
  • weixin_41517475
  • weixin_41517475
  • 2018年01月11日 23:41
  • 28
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(if)
举报原因:
原因补充:

(最多只允许输入30个字)