3273 - 习题4-10-1 奖金计算

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 12 MB

某企业发放的奖金根据利润提成。利润I低于或等于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,求应发奖金数,奖金精确到分。

要求用if语句实现。

题目输入

企业利润,小数,双精度double类型

题目输出

应发奖金数,保留2位小数,末尾换行。

输入/输出样例

输入格式

1050

输出格式

105.00

C语言解答

#include<stdio.h>
int main()
{
	int u;
	double I,m;
	scanf("%lf",&I);
	if (I<=100000)
		m=0.1*I;
	if (I>100000&&I<=200000)
		m=10000+0.075*(I-100000);
	if (I>200000&&I<=400000)
		m=17500+0.05*(I-200000);
    if (I>400000&&I<=600000)
		m=27500+0.03*(I-400000);
	if (I>600000&&I<=1000000)
		m=33500+0.015*(I-600000);
	if (I>1000000)
		m=39500+0.01*(I-1000000);
	
	printf("%.2f\n",m);
	return 0;
}

C++解答

#include <cstdio>
int main (void)
{
	double l,l1,l2,l4,l6,l10;
	scanf("%lf",&l);
	if(l<=100000)
		printf("%.2f\n",l*0.1);
	else if(100000<l<=200000){
		l1=l-100000;
		printf("%.2f\n",10000+l1*0.075);
	}
	else if(200000<l<=400000){
		l2=l-200000;
		printf("%.2f\n",17500+l2*0.05);
	}
    else if(400000<l<=600000){
		l4=l-400000;
		printf("%.2f\n",27500+l4*0.03);
	}
	else if(600000<l<=1000000){
		l6=l-600000;
		printf("%.2f\n",33500+l6*0.015);
	}
	else {l10=l-1000000; 
		printf("%.2f\n",39500+l10*0.01);
	}
	return 0;
}

Python解答

# coding=utf-8
s = float(input())
if s <= 100000 :
    t = s * 0.1
elif s <= 200000 :
    t = 10000 + (s - 100000) * 0.075
elif s <= 400000 :
    t = 17500 + (s - 200000) * 0.05
elif s <= 600000 :
    t = 27500 + (s - 400000) * 0.03
elif s <= 1000000 :
    t = 33500 + (s - 600000) * 0.015
else :
    t = 39500 + (s - 1000000) * 0.01
print(format(t, ".2f"))