|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
企业发放的奖金根据利润提成。利润低于或等于 100000 元时,奖金可提 10%;利润高
于 100000 元,低于 200000 元时,低于 100000 元的部分按 10%提成,高于 100000 元的部
分,可提成 7.5%;200000 到 400000 之间时,高于 200000 元的部分,可提成 5%;400000
到 600000 之间时高于 400000 元的部分,可提成 3%;600000 到 1000000 之间时,高于 600000
元的部分,可提成 1.5%,高于 1000000 元时,超过 1000000 元的部分按 1%提成,从键盘输
入当月利润,求应发放奖金总数。请应用 switch 语句编写算法实现。
下面代码是我自己打的 还没完 不会写了
#include <stdio.h>
int main()
{
int num,prize;
scanf("%d",num);
switch(num/100000)
{
case 0:prize=num*0.1;break;
case 1:prize=100000*0.1+(num-100000)*0.075;break;
case 2:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05;break;
case 3:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05;break;
case 4:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03;break;
case 5:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03;break;
case 6:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
case 7:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
case 8:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
case 9:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
case 10:prize=
default:prize=
}
}
我不知道 负数还有超过1000000的怎么写了
- #include <stdio.h>
- int main()
- {
- int num,prize;
- scanf("%d",num);
- if(num <0)
- {
- printf("0");
- return 0;
- }
- switch(num/100000)
- {
- case 0:prize=num*0.1;break;
- case 1:prize=100000*0.1+(num-100000)*0.075;break;
- case 2:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05;break;
- case 3:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05;break;
- case 4:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03;break;
- case 5:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03;break;
- case 6:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
- case 7:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
- case 8:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
- case 9:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015;break;
- default:prize=100000*0.1+(num-100000)*0.075+(num-200000)*0.05+(num-400000)*0.03+(num-600000)*0.015+(num-1000000)*0.01;break;
-
- }
- return 0;
- }
复制代码
|
|