奖金问题
#include<stdio.h>int main()
{
int r,profit,prize;
scanf("%d",&profit);
if(profit<0){
printf("prize=0");
}
else if((profit/1000000)>=10){
prize=39500+(profit-1000000)*0.01;
printf("prize=%d",prize);
}
else{
r=profit/100000;
switch(r){
case 0:prize=profit*0.1;break;
case 1:prize=10000+(profit-100000)*0.075;break;
case 2:
case 3:prize=17500+(profit-200000)*0.05;break;
case 4:
case 5:prize=27500+(profit-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:prize=33500+(profit-600000)*0.015;break;
}
printf("prize=%d",prize);
}
return 0;
}
为什么输入大于一百万 输出只能是74 企业发放的奖金根据利润提成。利润低于或等于 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 语句编写算法实现。 改成 long int r, profit, prize;试试
页:
[1]