C语言算法小实例2

C语言算法小实例

二. 企业发放的奖金根据利润提成。
利润(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,求应发放奖金总数?

思路分析:根据题意可得,该题属于分段函数,可先列出其相应的数学公式,再将其转化成C语言代码。可用if语句、if-else语句或if-else if-else语句,本题采用if-else if-else语句。

#include<stdio.h>
int main()
{
	double x,y; //x为公司当月利润,y为应发奖金总数
	printf("输入公司的当月利润:");
	scanf("%lf",&x);
	if(x<=100000)
	    y=0.1*x;
	else if(x>100000&&x<=200000)
	    y=10000+(x-100000)*0.075;
	else if(x>200000&&x<=400000)
	    y=10000+7500+(x-200000)*0.05;
	else if(x>400000&&x<=600000)
	    y=10000+7500+10000+(x-400000)*0.03;
	else if(x>600000&&x<=1000000)
	    y=10000+7500+10000+6000+(x-600000)*0.015;
	else
	    y=10000+7500+10000+6000+6000+(x-1000000)*0.01;
	printf("%.2f",y); 
	return 0;
} 

总结:
1.要注意审题,明确奖金和利润的关系,从而列出正确的数学公式。
2.要注意区分if语句、if-else语句或if-else if-else语句之间的区别。即
(1)if语句:当满足条件表达式1时,执行语句1,否则,都不执行;
(2)if-else语句:当满足条件表达式1时,执行语句1,否则,执行语句2;
(3)if-else if-else语句:当满足条件表达式1时,执行语句1,当不满足条件表达式1时,判断是否满足条件表达式2,若满足则执行语句2,如果仍然不满足条件表达式2,则继续判断是否满足下一个条件表达式,直至最后到else语句,执行else语句所对应的语句。
3.变量名不要用x、y、z等无代表含义的名称,最好使用具有想关含义的英文来表示变量。
4.在本题中,如果写明单位为万元,那么代码中的许多数字便可不加那么多零了。

#include<stdio.h>
int main()
{
	double profit,bonus; //profit为公司当月利润,bonus为应发奖金总数
    printf("输入公司的当月利润:\n");
	scanf("%lf",&profit);
	if(profit<=10)
	    bonus=0.1*profit;
	else if(profit<=20)
	    bonus=1+(profit-10)*0.075;
	else if(profit<=40)
	    bonus=1+0.75+(profit-20)*0.05;
	else if(profit<=60)
	    bonus=1+0.75+1+(profit-40)*0.03;
	else if(profit<=100)
	    bonus=1+0.75+1+0.6+(profit-60)*0.015;
	else
	    bonus=1+0.75+1+0.6+0.6+(profit-100)*0.01;
	printf("%.2f",bonus); 
	return 0;
} 

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值