简单C语言计算工资问题
一个很简单的C语言编写的计算工资的问题,经过修改,编译是通过了,可是为什么输出的值总是不对呢?!似乎总是少了一位而已,并没有按照我设计的算法来啊~~求诸位指点迷津~~
源程序如下:
void main()
{
double base=0;
double pay=0;
printf("Please put in your base:");
scanf("%ld",&base);
if(base<=0)
{
printf("Wrong number!");
}
else if(base<=100000)
{
pay=base*0.1;
}
else if(base<=200000)
{
pay=100000*0.1+(base-100000)*0.075;
}
else if(base<=400000)
{
pay=100000*0.1+100000*0.075+(base-200000)*0.05;
}
else if(base<=600000)
{
pay=100000*0.1+100000*0.075+200000*0.05+(base-400000)*0.03;
}
else if(base<=1000000)
{
pay=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(base-600000)*0.15;
}
else
{
pay=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(base-100000)*0.01;
}
printf("The pay is %ld",pay);
getch();
}