1150 - C语言5.12
时间限制 : 1 秒
内存限制 : 32 MB
企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元(100000<I≤200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5%;200000 <I≤400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成;400000<I≤600000时,高于40万元的部分按3%提成;600000<I≤1000000时,高于60万的部分按1.5%提成;I>1000000时,超过100万的部分按1%提成。输入当月利润I,求应发放奖金总数。
题目输入
一个整数I代表月利润。
题目输出
输出奖金总数,并保留2位小数。
请注意行尾输出换行。
输入/输出样例
输入格式
234000
输出格式
19200.00
C语言解答
#include<stdio.h> int main(){ int I; double b; scanf("%d",&I); if(I<=100000) b=I*0.1; if(I>100000&&I<=200000) b=100000*0.1+(I-100000)*0.075; if(I>200000&&I<=400000) b=100000*0.1+100000*0.075+(I-200000)*0.05; if(I>400000&&I<=600000) b=100000*0.1+100000*0.075+200000*0.05+(I-400000)*0.03; if(I>600000&&I<=1000000) b=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(I-600000)*0.015; if(I>1000000) b=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(I-1000000)*0.01; printf("%.2lf",b); return 0; }
C++解答
#include <stdio.h> int main() { int i; float bonus, bon1, bon2, bon4, bon6, bon10; bon1 = 100000 * 0.1; /*利润为10万元时的奖金*/ bon2 = bon1 + 100000 * 0.075; /*利润为20万元时的奖金*/ bon4 = bon2 + 100000 * 0.05; /*利润为40万元时的奖金*/ bon6 = bon4 + 100000 * 0.03; /*利润为60万元时的奖金*/ bon10 = bon6 + 400000 * 0.015; /*利润为100万元时的奖金*/ scanf("%d", &i); if (i <= 100000) bonus = i * 0.1; /*利润在10万元以内按0.1提成奖金*/ else if (i <= 200000) bonus = bon1 + (i - 100000) * 0.075; /*利润在10万至20万元时的奖金*/ else if (i <= 400000) bonus = bon2 + (i - 200000) * 0.05; /*利润在20万至40万元时的奖金*/ else if (i <= 600000) bonus = bon4 + (i - 400000) * 0.03; /*利润在40万元至60万元时的奖金*/ else if (i <= 1000000) bonus = bon6 + (i - 600000) * 0.015; /*利润在60万元至100万元时的奖金*/ else bonus = bon10 + (i - 1000000) * 0.01; /*利润在100万元以上时的奖金*/ printf("%.2f\n",bonus); return 0; }
Java解答
import java.text.DecimalFormat; import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); DecimalFormat df = new DecimalFormat("0.00"); int i; i = cin.nextInt(); double b = 0; if(i <= 100000) { b += i*0.1; } else if(i > 100000 && i <= 200000) { b += 10000; b += (i-100000)*0.075; } else if(i > 200000 && i <= 400000) { b += 10000 + 7500; b += (i-200000)*0.05; } else if(i > 400000 && i <= 600000) { b += 17500 + 10000; b += (i - 400000)*0.03; } else if(i > 600000 && i <= 1000000) { b += 27500 + 6000; b += (i - 600000)*0.015; } else { b += 33500 + 6000; b += (i - 1000000)*0.01; } System.out.println(df.format(b)); } }
Python解答
x = input() if x<=100000: ans= x*.1 elif 100000<x<=200000: ans= 100000*.1+(x-100000)*.075 elif 200000<x<=400000: ans= 100000*.1+100000*.075+(x-200000)*.05 elif 400000<x<=600000: ans= 100000*.1+100000*.075+200000*.05+(x-400000)*.03 elif 600000<x<=1000000: ans= 100000*.1+100000*.075+200000*.05+200000*.03+(x-600000)*.015 else: ans= 100000*.1+100000*.075+200000*.05+200000*.03+400000*.015+(x-1000000)*.01 print "%.2f" %ans