软件工程课堂练习-最高折扣
2015-04-15 12:51
190 查看
一.题目要求
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。
二.设计思路
因为一共有5卷书,所以高出10本的情况和6,7,8,9这四种情况是一样的,那现在就单分析10本以下的情况。买1~5本时,只要给出对应的折扣后的价钱就OK了,那现在分别得6,7,8,9这几种情况进行分析;经过计算我们可以发现,买6本时最高折扣组合为5(25%)|1(无);7本最高折扣组合为5(25%)|2(5%);8本时为4(20%)|4(20%);9本时为5(25%)|4(20%)。
三.源代码
四、实验截图
五、实验体会
在编写代码时将判断条件误写错,导致结果输出不正确,后来经过调试找到错误的地方及时改正,感觉调试整的很好用也很重要,希望还不会调试的童鞋好好练一下
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。
二.设计思路
因为一共有5卷书,所以高出10本的情况和6,7,8,9这四种情况是一样的,那现在就单分析10本以下的情况。买1~5本时,只要给出对应的折扣后的价钱就OK了,那现在分别得6,7,8,9这几种情况进行分析;经过计算我们可以发现,买6本时最高折扣组合为5(25%)|1(无);7本最高折扣组合为5(25%)|2(5%);8本时为4(20%)|4(20%);9本时为5(25%)|4(20%)。
三.源代码
#include "stdafx.h" int favourable(int num) { int judge1,judge2; double favour,favour1; judge1=num/5; judge2=num%5; if(judge1==0) { switch(num) { case 0: printf("您没有消费\n"); break; case 1: favour=8; break; case 2: favour=2*8*0.95; break; case 3: favour=3*8*0.9; break; case 4: favour=4*8*0.8; break; //case 5: //favour=5*8*0.75; //break; default: printf("error\n"); } } else { switch(judge2) { case 1: { favour1=5*8*0.75+1*8; favour=(judge1-1)*30+favour1; break; } case 2: { favour1=5*8*0.75+2*8*0.95; favour=(judge1-1)*30+favour1; break; } case 3: { favour1=4*8*0.8*2; favour=(judge1-1)*30+favour1; break; } case 4: { favour1=5*8*0.75+4*8*0.8; favour=(judge1-1)*30+favour1; break; } default: printf("error\n"); } } printf("您的总消费额是:%d\n",num*8); printf("折后价格为:%f\n",favour); return 0; } int main(int argc, char* argv[]) { int num; printf("请输入要购买的本数"); scanf("%d",&num); favourable(num); return 0; }
四、实验截图
五、实验体会
在编写代码时将判断条件误写错,导致结果输出不正确,后来经过调试找到错误的地方及时改正,感觉调试整的很好用也很重要,希望还不会调试的童鞋好好练一下
相关文章推荐
- 课堂练习之最高折扣,最低优惠规划
- 软件工程课堂练习 图书折扣问题
- 软件工程课堂练习--找出“水王”
- 软件工程课堂练习--找“一”
- 软件工程课堂练习--四则运算(三)
- 软件工程课堂练习——结队开发二
- 软件工程课堂练习购买图书
- 软件工程课堂练习
- 课堂练习——书店折扣问题
- 软件工程课堂练习找水王
- 软件工程课堂练习--结对开发
- 课堂练习-买书折扣最低
- 软件工程课堂练习四则运算续篇
- 软件工程课堂练习--结对初体验
- 课堂练习——如何使读者以最大折扣购买一批书
- 软件工程--课堂练习之四则运算之续编
- 软件工程课堂练习:返回一个一维整数数组中最大子数组的和
- 软件工程课堂练习--四则运算单元测试
- 软件工程课堂练习——求买书最低价格
- 软件工程课堂练习——N层电梯只停一层求乘客爬楼层数最少(基本方法+优化方法)