題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?
程序如下:
int main()
{
long int i;
float b1,b2,b4,b6,b10,b11,b;
scanf("%ld", &i);
b1 = i*0.1;
b2 = b1 + (i-100000) *0.075;
b4 = b2 + (i-200000) *0.05;
b6 = b4 + (i-400000) *0.03;
b10 = b6 + (i-600000) *0.015;
b11 = b10 + (i-1000000)*0.01;
if(i<=100000)
b = b1;
else if(i<=200000)
b = b2;
else if(i<=400000)
b = b4;
else if(i<=600000)
b = b6;
else if(i<=1000000)
b = b10;
else
b = b11;
printf("bonus=%ld", b);
}
為什麼一運行輸出就是bonus=0?
求高手解答
int main()
{
long int i;
double b1, b2, b4, b6, b10, b11, b;
scanf("%ld", &i);
b1 = i*0.1;
b2 = b1 + (i - 100000) *0.075;
b4 = b2 + (i - 200000) *0.05;
b6 = b4 + (i - 400000) *0.03;
b10 = b6 + (i - 600000) *0.015;
b11 = b10 + (i - 1000000)*0.01;
if (i <= 100000)
b = b1;
else if (i <= 200000)
b = b2;
else if (i <= 400000)
b = b4;
else if (i <= 600000)
b = b6;
else if (i <= 1000000)
b = b10;
else
b = b11;
printf("bonus=%lf\n", b);
system("pause");
}