C语言 - 运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现)

前言

运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现)
标准如下:
s < 250 没有折扣
250≤s < 500 2%折扣
500≤s < 1000 5%折扣
1000≤s < 2000 8%折扣
2000≤s < 3000 10%折扣
3000≤s 15%折扣
解题思路:
设每吨每千米货物的运费为x,货物重为y,路程为s,折扣为d
总运费f的计算公式为 f = x×y×s×(1-d/100)
将路程情况化简

程序源码

#include
int main ()
{
    int c,s;
    float p,w,d,f;
    printf("please enter price,weight,discount:");//提示输入的数据
    scanf("%f,%f,%d",&p,&w,&s);     //输入单价,重量,距离
    if(s >= 3000)
        c = 12;    //3000km以上为同一折扣
    else
        c = s / 250;    //3000km以下各段折扣不同,c的值不同
    switch(c)
    {
    case 0:
        d = 0;
        break;        //c=0,代表250km以下,折扣d=0,
    case 1:
        d = 2;
        break;        //c=2,代表250~500km以下,折扣d=2%
    case 2:
    case 3:
        d = 5;
        break;        //c=5,代表500~1000km以下,折扣d=5%
    case 4:
    case 5:
    case 6:
    case 7:
        d = 8;
        break;        //c=8,代表1000~2000km以下,折扣d=8%
    case 8:
    case 9:
    case 10:
    case 11:
        d = 10;
        break;      //c=10,代表2000~3000km以下,折扣d=10%
    case 12:
        d = 15;
        break;      //c=15,代表3000km以上,折扣d=15%
    }
    f = p * w * s * (1-d/100);   //计算总费用
    printf("freight=%10.2f\n",f);       //输出总费,用取两位小数
    return 0;
}

你可能感兴趣的:(C语言程序设计,c语言,switch,算法)