求奖金总数

求奖金总数

时间: 1ms        内存:128M

描述:

企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。

输入:

一个整数,当月利润。

输出:

一个整数,奖金。

示例输入:

900

示例输出:

90

提示:

参考答案(内存最优[1092]):

#include <stdio.h>
int main()
{
	int a,b;
	scanf("%d",&a);
	if(a<=100000)b=a*0.1;
	if(a>100000&&a<=200000)b=10000+(a-100000)*0.075;
	if(a>200000&&a<=400000)b=17500+(a-200000)*0.05;
	if(a>400000&&a<=600000)b=27500+(a-400000)*0.03;
	if(a>600000&&a<=1000000)b=33500+(a-600000)*0.015;
	if(a>1000000)b=39500+(a-1000000)*0.01;
	printf("%d",b);
	return 0;
}

参考答案(时间最优[0]):


#include <stdio.h>
int main()
{
	int n;
	double m=0;
	scanf("%d",&n);

	if(n>1000000)
	{
		m += (n-1000000)*0.01;
		n = 1000000;
	}
	if(n>600000)
	{
		m += (n-600000)*0.015;
		n = 600000;
	}
	if(n>400000)
	{
		m += (n-400000)*0.03;
		n = 400000;
	}
	if(n>200000)
	{
		m += (n-200000)*0.05;
		n = 200000;
	}
	if(n>100000)
	{
		m += (n-100000)*0.075;
		n = 100000;
	}
	m += n*0.1;
	printf("%d\n",(int)m);
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注