JDOJ 1133 分段公司利润

JDOJ 1133: 分段公司利润

JDOJ传送门

Description

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

Input

一个整数,当月利润。

Output

一个整数,奖金。

Sample Input

900

Sample Output

90

HINT

用Switch要比用if的看起来更清晰。

题解:

程序设计语法基础题。

听HINT的,用switch来判断。

因为是基础题,所以来baba几句switch的用法。

我直接来用代码说明。

switch后面的括号是判断条件。

然后就是下面的分支。

case * 就是假如括号里的判断条件是...

假如啥也不是用default代替。

注意最后加break;要不然你试试(一定要试试)

啥也不说了。

代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
 
int main()
{
    int a,w;
    scanf("%d",&a);
    switch(a/100000)
    {
    	case 0: w = a * 0.1;break;
    	case 1: w = 10000 + (a-100000)*0.075;break;
    	case 2: w = 10000 + 7500 + (a-200000)*0.05;break;
    	case 3: w = 10000 + 7500 + (a-200000)*0.05;break;
    	case 4: w = 10000 + 7500 + 10000 + (a-400000)*0.03;break;
    	case 5: w = 10000 + 7500 + 10000 + (a-400000)*0.03;break;
    	case 6: w = 10000 + 7500 + 10000 + 6000 + (a-600000)*0.015;break;
    	case 7: w = 10000 + 7500 + 10000 + 6000 + (a-600000)*0.015;break;
		case 8: w = 10000 + 7500 + 10000 + 6000 + (a-600000)*0.015;break;
		case 9: w = 10000 + 7500 + 10000 + 6000 + (a-600000)*0.015;break;
		case 10: w = 10000 + 7500 + 10000 + 6000 + 6000 +(a-1000000)*0.01;break;
		default : w = 10000 + 7500 + 10000 + 6000 + 6000 +(a-1000000)*0.01;break;
	}
    printf("%d",w);
    return 0;
}
原文地址:https://www.cnblogs.com/fusiwei/p/11326521.html