计算最低价格

 设计过程及思路如下:

一本:8元
本数与折扣:2、5%; 3、10%; 4、20%; 5、25%

1本 无折扣 (8*1)*1=8
2本 5%(不同的情况) (8*2)*95%=15.2
3 10% (8*3)*90%=21.6
4 20% (8*4)*80%=25.6
5 25% (8*5)*75%=30

6本:
<1>、2、2、2 总价:15.2*3=45.6
<2>、3、2、1 21.6+15.2+8=44.8
<3>、4、2 40.8
5、1 38

7本
3、2、2 52
3、3、1 51.2
3、4 47.2
2、5 45.2
8本

4、4 51.2
5、3 51.6
9本
4、5 55.6
10本
5、5 60
11本
10+1 68
12本
10+2 75.2
13
10+3 81.6
14
10+4 85.6
15
10+5 90
16
10+6 98
.
.
.
.
.
.

#include <iostream>
using namespace std;
#define N 100
void leastMoney(int n)
{
    double Marry[N];
    Marry[0]=8,Marry[1]=15.2,Marry[2]=21.6,Marry[3]=25.6,Marry[4]=30,Marry[5]=38,Marry[6]=45.2,Marry[7]=51.2,Marry[8]=55.6,Marry[9]=60;
    if(n>9)
    {
        for(int i=10;i<=n;i++)
        {
            Marry[i]=Marry[i-10]+60;
        }
    }
    
    cout << Marry[n]<<endl;
}

int main()
{
    int m;
    for(int i = 0;i < 10;i++)
    {
        cout << "请输入所购买的书籍的本数:";
        cin >> m;
        int n=m-1;
        leastMoney(n);
    }
    return 0;
}

运行结果截图:

posted @ 2016-05-30 18:57  Huangliping  阅读(276)  评论(0编辑  收藏  举报