输入单价/重量/里程,计算折扣之后的总运费。
得数有问题,不知道哪里出了差错。
int main()
{
int c, s,d;
float p, w, f;//单价、重量、距离
printf("please enter price,weight,distance:");
scanf_s("%f,%f,%f", &p, &w, &s);//输入单价、重量、距离
if (s >= 3000)
c = 12;//3000m以上折扣相同
else
c = s / 250;//3000米一下的折扣
switch (c)
{
case 0:d = 0; break;//c = 0,小于250km,折扣d=0;
case 1:d = 2; break;
case 2:
case 3:d = 5; break;
case 4:
case 5:
case 6:
case 7:d = 8; break;
case 8:
case 9:
case 10:
case 11:d = 10; break;
case 12:d = 15; break;
default:
break;
}
f = p * w * s * (1 - (d / 100));//计算总运费
printf("freight=%10.2f\n", f);
return 0;
}
scanf_s("%f,%f,%f", &p, &w, &s);
这里 s 站错队了,距离是 f
最后的总运费不要用 f,虽然没影响,一个变量一个用处。
这题的题目是怎样的?
不知道你这个问题是否已经解决, 如果还没有解决的话: