【C语言经典100题】第2题(代码可优化,待更新)

【摘要】 第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万元的部…

第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 = 12万,求应发放奖金总数?

【分析】

  1. 这道题需利用分段函数,条件语句if-else;
  2. 计算每段的利润+提成 = 奖金总数。

【代码】

#include<stdio.h> 
int main(){
	float I , J , sum; //I为利润,J为提成=利润*百分比,sum为奖金总数;
					 //单位均为:万 
	scanf("%f",&I); //输入利润 
	if(I <= 10 && I >= 0){
		J = I * 0.1;
		sum = I + J;
	}else if(I <= 20){ //高于10万低于20万 
		J = (I - 10) * 0.075 + 10 * 0.1;
		sum = I + J; 
	}else if(I <= 40){ //高于20万低于40万 
		J = (I - 20) * 0.05 + 10 * 0.075 + 10 * 0.1;
		sum = I + J; 
	}else if(I <= 60){ //高于40万低于60万 
		J = (I - 40) * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1;
		sum = I + J; 
	}else if(I <= 100){ //高于60万低于100万 
		J = (I - 60) * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1;
		sum = I + J; 
	}else if(I >= 100){ //高于100万
		J = (I - 100) * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1;
		sum = I + J; 	
	}else{ //输入错误 
		printf("输入有误!"); 
	}	
		printf("提成为:%f万元\n应发奖金总数为:%f万元\n",J,sum);
}

【运行结果】

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享