课堂练习——计算法能够计算出读者购买一批书的最低价格。
1.题目。
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,
单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,
例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
2.设计思想。
因为除了买8本以外,不论买多少本,都应该按最大折扣5本计算,才能使得买这一批书价格最低。
3.代码。
#include<iostream.h> int main() { int k,m,n; double sum=0; cout<<" 书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,"<<endl; cout<<"单独一卷售价8元, 具体折扣如下所示:"<<endl; cout<<" 本数 折扣"<<endl; cout<<" 2 5%"<<endl; cout<<" 3 10%"<<endl; cout<<" 4 20%"<<endl; cout<<" 5 25%"<<endl; cout<<endl; cout<<"请输入读者要购买的书籍个数:"<<endl; cin>>k; m=k/5; n=k%5; if(k!=8) { switch(n) { case 0: sum=m*40*0.75; break; case 1: sum=m*40*0.75+8; break; case 2: sum=m*40*0.75+16*0.95; break; case 3: sum=m*40*0.75+24*0.9; break; case 4: sum=m*40*0.75+32*0.8; break; } } else sum=2*4*8*0.8; cout<<"读者购买一批书的最低价格为:"<<endl; cout<<sum<<"元"<<endl; return 0; }
4.运行结果。
5.实验总结。
有些问题是有规律的,只要掌握了规律就可以用很简单的算法实现一个感觉很复杂的问题。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。