设计过程及思路如下:
一本: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; }
运行结果截图: