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<stdio.h>
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;
}
  • 16
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WW......

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值