⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例5.7.txt

📁 C语言程序设计的第二版源码
💻 TXT
字号:
  例5.7运输公司对用户计算运费。路程(S)越远,每公里运费越低。标准如下:
      s<250km没有折扣
       250≤S<500                       2%折扣
       500≤S<1000                     5%折扣
      1000≤S<2000                     8%折扣
      2000≤S<3000                    10%折扣
      3000≤S                              15%折扣
设每公里每吨货物的基本运费为P(Price的缩写),货物重为w(weight的缩写),距离为S,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为f=P*w*S*(1-d) 
分析此问题,折扣的变化是有规律的:从图4.15可以看到,折扣的“变化点”都是250的倍数(250,500,1000,2000,3000)。利用这一特点,可以在横轴上加一种坐标c,c的值为S/250。c代表250的倍数。当c<1时,表示S<250,无折扣;1≤c<2时,表示250≤S<500,折扣d=2%;2≤c<4时,d=5%;4≤c<8时,d=8%;8≤c<12时,d=10%;c≥12时,d=15%。


据此写出程序如下:
    main()
        int c,S;
        float P,w,d,f;
        scanf("%f,%f,%d",&P,&w,&S);
        if(S>=3000) c=12;
        else c=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.0);
        printf("freight=%15.4f",f);
   运行情况如下:
100,20,300

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -