【运输公司对用户计算运费.程序设计运输公司对用户计算运费.路-查字典问答网
分类选择

来自陈继亮的问题

  【运输公司对用户计算运费.程序设计运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km没有折扣250≤S<5002%折扣500≤S<10005%折扣1000≤S<20008%折扣2000≤S<300010】

  运输公司对用户计算运费.程序设计

  运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:

  s<250km没有折扣

  250≤S<5002%折扣

  500≤S<10005%折扣

  1000≤S<20008%折扣

  2000≤S<300010%折扣

  3000≤S15%折扣

  设每公里每吨货物的基本运费为P(Price的缩写),货物重为w(weight的缩写),距离为S,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为f=P*w*S*(1-d)

  分析:S各域的边界值均为250的倍数,这样如果用开关语句实现可以设一变量c,使c=s/250这样c就可以做为switch中的"表达式"以控制分支,此时标准如下:

  c<1没有折扣

  1≤c<22%折扣

  2≤c<45%折扣

  4≤c<88%折扣

  8≤c<1210%折扣

  12≤c

  为了便于在switch语句中处理,当3000≤s时,令c=12而不使c随s增大,这样用一条case语句便可处理所有3000≤s的情况.

  这段程序不太懂

  1、#include

  intmain()

  {

  intc,s;

  floatp,w,d,f;

  scanf("%f%f%d",&p,&w,&s);

  if(s>=3000)c=12;

  elsec=s/250;

  switch(c)

  {

  case0:d=0;break;

  case1:d=2;break;

  case2:

  case3:d=5;break;

  case4:

  case5:

  case6:

  case7:d=8;break;

  case8:

  case9:

  case10:

  case11:d=10;break;

  case12:d=15;break;

  }

  f=p*w*s*(1-d/100);

  printf("freight=%15.4fn",f);

1回答
2020-07-19 11:29
我要回答
请先登录
李艳华

  case语句相当于多长if...else语句

2020-07-19 11:29:47

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •