课堂练习——计算法能够计算出读者购买一批书的最低价格。

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.实验总结。

   有些问题是有规律的,只要掌握了规律就可以用很简单的算法实现一个感觉很复杂的问题。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。