哈利波特最优价格

一、题目

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,单独一卷售价8元,具体折扣如下:本数对应的折扣分别为:2本—5%,3本—10%,4本—20%,5本—25%。根据购买的卷数以及本数,会对应不同的折扣规则情况。单独一本书只会对应一个折扣规则。设计算法能够计算出读者购买一批书的最低价格。

二、思路

以10本为基础,只用求余数的最优价格即可——只需考虑10本以内的。对于5本及5本以内的直接乘上折扣即可,对于超过5本的,则考虑情况,例如7本分为3,4。1,6.两种情况。用for循环列出所有情况,将值存入数组。比较大小求出最小值。在加上10本的基础价格。即可。

三、源代码

#include<iostream.h>
double f1(int i)
{
    double a;
    switch(i)
    {
        case 5: a=0.75;break;
        case 4: a=0.80;break;
        case 3: a=0.90;break;
        case 2: a=0.95;break;
        case 1: a=1.0;break;
    }
    return a;
}
int main()
{
    int numyu,num10,s,i;
    double c;
    double sum;
    int BookNum;
    cout<<"输入购买本数:";
    cin>>BookNum;
    numyu=BookNum%10;
    num10=BookNum/10;
    sum=num10*10*8*0.75;
    double sum1,sum2;
    double b[10];
    int p=0;
    if(numyu>5)
    {
        for(i=5;i>=(numyu+1)/2;i--)
        {
            c=f1(i);
            sum1=c*i*8;
            c=f1(numyu-i);
            sum2=c*(numyu-i)*8;
            b[p++]=sum1+sum2;
        }
        double min=b[0];
        for(i=1;i<p;i++)
        {
            if(min>b[i])
            {
                min=b[i];
            }
        }
        cout<<"最低购买:"<<min+sum;
    }
    else
    {
        c=f1(numyu);
        sum1=numyu*8*c;
        cout<<"最低购买:"<<sum1+sum;
    }
    return 0;
}

 四、实验截图

 

五、实验总结

本次实验刚开始遇到如何根据书本数目返回折扣值,最终用switch的方法将五种折扣方案返回。对于此次实验不满意的地方就是

我写的时候没有养成写注释的习惯,这应该是差大弊端。在以后的实验中会将注释方面做个重点,强迫自己的思路有条目,而不是盲

目的敲代码。

时间: 2024-08-06 20:31:05

哈利波特最优价格的相关文章

《哈利波特》购书最低折扣

·书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% ·根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本

nyoj 949哈利波特(细节题)

哈利波特 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 Harry 新学了三种魔法.他能够用第一种魔法把 a 克的沙子变成 b 克金属,能够用另外一种魔法把 c 克金属变成 d 克金子,能够用第三种魔法把 e 克金子变成 f 克沙子.Harry 的两个好朋友Ron和Hermione知道了很高兴,可是Ron和Hermione有个分歧,Ron认为Harry能够用这三种魔法获得无限的金子,Hermione认为不能获得无限多的.Harry想知道究竟谁是对的 输入 输入

《哈利波特》最低折扣

·书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% ·根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本

哈利波特课后练习

题目要求: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷

哈利波特六合一好不好看?

哈利波特六合一好不好看?关于哈利波特,我就不多说什么了,这个大家都知道的. 好吧,好吧,我也简单地搬运一下度娘的话吧:) <哈利·波特>是英国作家J·K·罗琳的魔幻文学系列小说,共7集,其中前六部以霍格沃茨魔法学校为主要舞台,描写的是主人公哈利·波特在霍格沃茨魔法学校六年的学习生活和冒险故事.第七本描写的是哈利·波特在校外寻找魂器并消灭伏地魔的故事.该系列小说被翻译成67种语言,所有版本的总销售量逾5亿本(截至2008年),名列世界上最畅销小说之列. 英国版由布鲁姆斯伯里出版社(Bloomsb

哈利波特书价问题

题目要求: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1

购买《哈利波特》系列书籍的最低价格

一.题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                               本数                  折扣                                   2                       5%                                   3                       10%       

哈利波特买书事件

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5% 3 10% 4 20% 5 25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠. 设计算法能够计算出读者购买一批书的最低价格. 要求将设计思想.代码实现.实现截图.个人总结以博文的形式发表.(截止日期2015-4-15晚18:00)

哈利波特书店促销

一.题目要求          书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                                本数                  折扣                                    2                       5%                                    3