c语言计算运费问题
本帖最后由 445519014 于 2021-3-9 20:45 编辑我觉得这程序没有问题啊,然后就是计算出来的结果总运费f一直都是不打折扣的,不知道怎么了,我这好像也把折扣赋值给d了啊,求大神指教,谢啦
题目:
路程( s)越远,每公里运费越低。标准如下:
s<250km 没有折扣
250≤s<500 2%折扣
500≤s<1000 5 %折扣
1000≤s<2000 8 %折扣
2000≤s<3000 10%折扣
3000≤s 15%折扣
设每公里每吨货物的基本运费为p,货物重量为w,路程为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d)
#include<stdio.h>
void main()
{
double p,w,s,d,f;
printf("依次输入基本运费、货物重量和路程\n");
scanf("%lf%lf%lf",&p,&w,&s);
f=p*w*s*(1-d);
if(s<500)
{
switch(s<250?1:2)
{
case 1:
d=0;
break;
case 2:
d=2/100.0;
break;
}
}
else if(500<=s<2000)
{ switch(s<1000?1:2)
{
case 1:
d=5/100.0;
break;
case 2:
d=8/100.0;
break;
}
}
else if(2000<=s<3000)
{
d=10/100.0;
}
else if(s>=3000)
{
d=15/100.0;
}
printf("总运费 =%9.3lf",f);
} printf("总运费 =%9.3lf",f);
你这里输出的就是总运费,没有减去折扣 本帖最后由 445519014 于 2021-3-9 18:13 编辑
巴巴鲁 发表于 2021-3-9 16:48
你这里输出的就是总运费,没有减去折扣
可是上面我已经用了f=p*w*s*(1-d);了啊 445519014 发表于 2021-3-9 18:11
可是上面我已经用了f=p*w*s*(1-d);了啊
你在上面用有什么用
求完d之后再用啊{:10_277:} 巴巴鲁 发表于 2021-3-9 18:30
你在上面用有什么用
求完d之后再用啊
妙啊{:10_279:},已经正常了{:10_279:}{:10_279:}{:10_279:}
谢谢大佬指教 445519014 发表于 2021-3-9 20:26
妙啊,已经正常了
谢谢大佬指教
没有没有,刚开始看错了
页:
[1]