C语言计算结果不正确,请各位大神帮忙看看~
编写一个计算奖金的小程序,输入一个数据之后,和我的计算结果不一致。不知道错在哪里,请各位大神帮忙,谢谢~int main()
{
long int profit;
int bonus1,bonus2,bonus4,bonus6,bonus100,bonus;
printf("Please input the profits:\n");
scanf("%ld",&profit);
bonus1=0.1*100000;
bonus2=bonus1+0.075*100000;
bonus4=bonus2+0.05*200000;
bonus6=bonus4+0.03*200000;
bonus100=bonus4+0.015*400000;
if(profit<=100000)
bonus=0.1*profit;
else if(profit<=200000) //如果输入时18万的话,计算结果应该是16000,但是结果是15999
bonus=bonus1+(profit-100000)*0.075;
else if(profit<=400000)
bonus=bonus2+0.05*(profit-200000);
else if(profit<=600000)
bonus=bonus4+0,03*(profit-400000);
else if(profit<=1000000)
bonus=bonus6+0.015*(profit-600000);
else
bonus=bonus100+0.001*(profit-1000000);
printf("The bonus of %ld is :%d\n",profit,bonus);
return 0;
}