Linux c編程--利潤提成

題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?

程序源代碼:

1 #include<stdio.h>

  2 int main()
  3 {
  4     long int i;
  5     int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
  6     scanf("%ld",&i);
  7     bonus1=100000*0.1;
  8     bonus2=bonus1+100000*0.075;
  9     bonus4=bonus2+200000*0.05;
 10     bonus6=bonus4+200000*0.03;
 11     bonus10=bonus6+400000*0.015;                                           
 12     if(i<=100000)
 13       bonus=i*0.1;
 14       else if(i<=200000)
 15         bonus=bonus1+(i-100000)*0.075;
 16         else if(i<=400000)
 17           bonus=bonus2+(i-200000)*0.05;
 18           else if(i<=600000)
 19             bonus=bonus4+(i-400000)*0.03;
 20             else if(i<=1000000)
 21               bonus=bonus6+(i-600000)*0.015;
 22               else if(i>1000000)
 23                 bonus=bonus10+(i-1000000)*0.01;
 24 printf("bonus=%d\n",bonus);
 25 return 0;

 26 }              

程序結果:


結果分析 輸入利潤200000元 可得到結果17499元  這和正確答案相比卻少了1元

帶入其他值驗證


會發現個別答案比正確答案少一 而個別答案是正確的 這很奇怪 ,各位博友有能解決的嗎?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章