谭浩强教授版《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%提成)。


道理想通了其实不难。

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

相关文章推荐

typedef定义新的类型标识符

C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义新的类型说明符,也就是允许由用户为数据类型取“别名”。类型定义符typedef即可用来完成此功能。例如,有整型量a,b,其说明如下: int ...

C++程序辨别数字、字母和汉字

数字、字母和汉字是用不同的ASCII码来表示的,其中 1、汉字在ASCII码中表示为负整数 2、一个汉字占两个字节 3、数字(0~9)在ASCII码中依次表示为48~57 #inclu...

谭浩强C程序设计第四版分别求5个定积分,别谢我,我是活雷锋

#include #include float f1(float x) { float m; m = (1 / 2.0)*(1 + x)*(1 + x); return(m); } float...

谭浩强《C程序设计》(第三版)部分习题答案—第七章

7.1用筛选法求100之内的素数。 代码如下: #include #include void main() { int i,j; for(i=1;i...

谭浩强C程序设计(第三版)-习题答案

第一章、C语言概述 习题 1.1、根据自己的认识写出C语言的主要特点 1. 简洁紧凑、灵活方便。2. 运算符丰富。3. 数据结构丰富。4. C语言是结构式语言。5. C语言语法限制不太严格、程序...

[C程序设计(第四版)].谭浩强.扫描版pdf

内容简介 《中国高等院校计算机基础教育课程体系规划教材:C程序设计(第4版)》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》...

C语言程序设计谭浩强版 十 八

13 文件 13.1 C文件概述 从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件、 目标文件、可执行程序;也可...

C语言程序设计谭浩强版课后习题 8-1,8-3

C语言程序设计谭浩强版课后习题 8-1 流程图 #include int Hfactor(int x,int y) { int t; while(y!=0) {t=x%y;x...
  • Zuo3707
  • Zuo3707
  • 2012年12月07日 23:51
  • 1780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(if)
举报原因:
原因补充:

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