C primer plus 第七章 练习11:
2016-05-21 15:36
239 查看
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,而我没有使用。未完待续吧。等有时间再补充完整。
编写程序:在循环中使用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; }
相关文章推荐
- 自己乱写的文件输入输出例程 乱到极致 心脏不好的勿入
- Android中Widget (微件、小组件)
- OpenCV中的按钮问题
- PHP数组
- 子过程左值属性
- 子过程左值属性
- iOS - 修改UITextField的placeholder颜色
- Quartz2D 编程指南(二)变换、图案、阴影
- Adroid我还是个菜鸟——导入jar包
- 第4课:Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握
- svn创建搭建教程
- Django中连接Mysql报错 No module named MySQLdb
- C++迷宫问题(BFS)
- Activity跳转Flag详解
- [Machine Learning & Algorithm]CAML机器学习系列2:深入浅出ML之Entropy-Based家族
- android 动画 ——alpha、scale、translate、rotate、set的xml属性及用法
- 互联网金融爬虫怎么写-第一课 p2p网贷爬虫(XPath入门)
- JavaScript插入节点小结
- springMvc
- LeetCode|Surrounded Regions