C primer plus 第七章 练习11:

ABC Mail Order Groccery朝鲜蓟的售价是1.25美元/磅,甜菜的售价是0.65美元/磅,胡罗卜的售价是0.89美元/磅,在添加运输费之前,他们为100美元的订单提供5%的打折优惠。对5磅或以上的定单收取3.50美元的运输和装卸费用,超过5磅而不足20磅的定单收取10.0美元的运输和装卸费;20磅或以上的运输,在8美元基础上每磅加0.1美元。
编写程序:在循环中使用switch语句,以便对输入a的响应是让用户输入所需的朝鲜蓟磅数,b为甜菜的磅数,c为胡萝卜的磅数,而q允许用户退出订购过程,然后程序计算总费用,折扣和运输费用(如果有运输费用的话),以及总数。随后程序应该显示所有购买信息:每磅的费用,订购的磅数,该订单每种菜的费用,订单的总费用、折扣,如果有的话加上运输费用,以及所有费用的总数。

题目要求的是SWITCH,而我没有使用。未完待续吧。等有时间再补充完整。

#include <stdio.h>
#define CXJ 1.25
#define TC 0.65
#define HLB 0.89
int main(void)
{
    int a, b, c;
    float t, zk, ys, tz;

    printf("请您输入您购买朝鲜蓟(a)、甜菜(b)、胡萝卜(c)的重量(q to quit): ");
    while(scanf("%d%d%d", &a, &b, &c) == 3)
    {
        t = a * CXJ + b * TC + c * HLB;
        if(t > 100){
            zk = t * 0.05;
        }
        else
            zk = 0;
        if(a + b + c <= 5)
            ys = 3.50;
        else if((a + b + c > 5) && (a + b + c < 20))
            ys = 10.00;
        else 
            ys = 8.00 + (a + b + c) * 0.1;
        tz = t - zk + ys;
        printf("您购买的朝鲜蓟为:%d磅,%.2f元/磅;甜菜为:%d磅,%.2f元/磅;胡萝卜为:%d磅,%.2f元/磅.\n", a, CXJ, b, TC, c, HLB);
        printf("您购买的朝鲜蓟费用为:%.2f元;甜菜费用为:%.2f元;胡萝卜费用为:%.2f元.\n", a * CXJ, b * TC, c * HLB);
        printf("您订单总费用为:%.2f元,折扣费用为:%.2f元,运输费用为:%.2f元,以上费用的总数为%.2f元.\n\n\n", t, zk, ys, tz);
        printf("请您输入您购买朝鲜蓟(a)、甜菜(b)、胡萝卜(c)的重量(q to quit): ");
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值