題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main(void)
{
uint64_t base,tmp,profit,get,spare;
base = 100000;
profit = 150000;
get = 0;
tmp = profit;
if ( profit / 10 / base)
{
spare = tmp - base * 10 ;
get += spare * 1 / 100;
tmp -= spare;
}
switch (tmp / base)
{
case 10:
spare = tmp - base * 6 ;
get += spare * 15 / 1000;
tmp -= spare;
case 6:
spare = tmp - base * 4 ;
get += spare * 30 / 1000;
tmp -= spare;
case 2 ... 4:
spare = tmp - base * 2 ;
get += spare * 50 / 1000;
tmp -= spare;
case 1:
spare = tmp - base * 1 ;
get += spare * 75 / 1000;
tmp -= spare;
case 0:
get += tmp / 10;
break;
}
printf ("get:%llu\n",get);
return 0;
}