C primer plus 第七章 练习11:

来源:互联网 发布:诺维茨基职业生涯数据 编辑:程序博客网 时间:2024/04/30 03:39

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.89int 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;}
0 0
原创粉丝点击