为什么只有前面的那两个if语句能用,后面的都是按照第二个if语句进行的,是判别有误,还是if语句错了
#include<stdio.h> int main()
{long long a,b,sum;char ch;clrscr();(我是用turbo c的,估计就教学用的了)
do
{printf("\nPleas input your a mouth money:\n");
scanf("%ld",&a);
b=a-1260;
if(b<=0)
sum=0;(可以用)
else if(0<b<=500)(可以用)
sum=(b*0.05);
else if(500<b<=2000)(从这里开始都是按第二个计算,后面都没用了)
sum=((500*0.05)+((b-500)*0.1));
else if(2000<b<=5000)
sum=(500*0.05)+(1500*0.1)+((b-2000)*0.15);
else if(5000<b<=20000)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+((b-5000)*0.2);
else if(20000<b<=40000)(为什么从这里开始说我超出常量呢??可我用int,long,double,float,long long,都是这样的)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+(15000*0.2)+((b-20000)*0.25);
else if(40000<b<=60000)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+(15000*0.2)+(20000*0.25)+((b-40000)*0.3);
else if(60000<b<=80000)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+(15000*0.2)+(20000*0.25)+(20000*0.3)+((b-60000)*0.35);
else if(80000<b<=100000)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+(15000*0.2)+(20000*0.25)+(20000*0.3)+(20000*0.35)+((b-80000)*0.4);
else if(b>100000)
sum=(500*0.05)+(1500*0.1)+(3000*0.15)+(15000*0.2)+(20000*0.25)+(20000*0.3)+(20000*0.35)+(20000*0.4)+(20000*0.45);
printf("\nShoud is %ld\n",sum);
printf("\ncontinur?(anyker/n)\n");
ch=getch();
}while(ch!='n');
return 0;
}