wangzb 发表于 2020-10-24 10:54:01

奖金问题

#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

wangzb 发表于 2020-10-24 10:54:37

企业发放的奖金根据利润提成。利润低于或等于 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 语句编写算法实现。

昨非 发表于 2020-10-24 10:57:13

改成        long int r, profit, prize;试试
页: [1]
查看完整版本: 奖金问题