运输公司对用户计算运费代码错在哪里了?
#include <stdio.h>void main()
{
float d, p, w, s, f;
p = 5.0;
w = 9.0;
printf("input sherr numbers :");
scanf("%f",&s);
if (s < 250)
{
d = 0.0 / 100;
f = p*w*s*(1 - d);
printf("零折扣%7.2f\n",f );
}
else if (250 <= s < 500)
{
d = 2.0 / 100;
f = p*w*s*(1 - d);
printf("百分之2的折扣%7.2f\n", f);
}
else if (500 <= s < 1000)
{
d = 5.0 / 100.0;
f = p*w*s*(1 - d);
printf("百分之5的折扣%7.2f\n", f);
}
else if (1000 <= s < 2000)
{
d = 8.0 / 100;
f = p*w*s*(1 - d);
printf("百分之8的折扣%7.2f\n", f);
}
else if (2000 <= s < 3000)
{
d = 10.0 / 100;
f = p*w*s*(1 - d);
printf("百分之10的折扣%7.2f\n", f);
}
else if (s > 3000)
{
d = 15.0 / 100;
f = p*w*s*(1 - d);
printf("百分之15的折扣%7.2f\n", f);
}
}
为什么我到第三个5%折扣的时候就无法自动算百分比,求高手帮忙,谢谢。 250 <= s < 500
这个的意思是用250<=s的结果(0或1)和500比较,很明显是错误的,这些判断语句都是错误的。
应该改成这样:
250 <= s && s < 500
页:
[1]