买书最低价格

(1)题目:

n书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示 本数 2,折扣5%;本数 3,折扣10%;本数4 ,折扣20%;本数5,折扣25%;根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

(2)解题思路:

在对这题目的解答时在所买数目比5本多时,通过对6本,7本,8本,9本书的计算,可以知道仅有8本书时分别的四本书比较便宜,而别的情况下都可以先计算5本书的整数和即其价格然后计算剩下的5以下数目的书的价格,在总书数(n)除5余数为3时,购买n/5-1套书即两个4本不同书;其他情况下购买n/5套数即余数本书。

(3)

 1 #include<iostream>
 2 using namespace std;
 3
 4 int main()
 5 {
 6     int i, j, k,u;
 7     double c;
 8     cout << "请输入您要买几本书:";
 9     cin >> i;
10     int a = i / 5;
11     u = a;
12     k = i % 5;
13     if (a == 0 && k == 3)
14     {
15         c = k * 8 * 0.9;
16         cout << "买" << i << "本数所用最少钱数为" << c << endl << endl;;
17         cout << "其中买了3本书" << endl;
18     }
19     if (a!=0&&k==3)
20     {
21         c = 4 * 0.8 * 8*2;
22         u = a - 1;
23         double b = u * 5 * 8 * 0.75;
24         cout << "买" << i << "本数所用最少钱数为" << c + b << endl << endl;;
25         cout << "其中买了" << u << "套书,两个不同的四本书" << endl;
26
27     }
28     else if (k == 4)
29     {
30         c = k * 8 * 0.8;
31         double b = u * 5 * 8 * 0.75;
32         cout << "买" << i << "本数所用最少钱数为" << c + b << endl << endl;
33         cout << "其中买了" << u << "套书和" << k << "个不同的书" << endl;
34     }
35     else
36     {
37         c = k*8*(1 - (k - 1)*0.05);
38         double b = u * 5 * 8 * 0.75;
39         cout << "买" << i << "本数所用最少钱数为" << c + b << endl << endl;
40         cout << "其中买了" << u << "套书和" << k << "个不同的书"<<endl;
41     }
42
43     return  0;
44 }

(4)截图:

(5)总结:

在本次编程过程中在余数为3时出现了错误,因为一直考虑8本书时情况,只想了在5本书以上时余数为3时的情况,后来发现错误又将只买3本书的情况进行分析。

时间: 2024-11-10 00:19:49

买书最低价格的相关文章

课堂练习--计算购买一批书最低价格

1.设计思想 通过找规律发现,当购买数量大于5本时,有两种情况.第一种:如果数的最后一位的值为8,则这八本按两个四本来算,剩下的按五本一划分来算最低:第二种:数的最后一位的值不为8,则将数对五求余,求商,根据余数大小选择对应的价格,用商乘每5本对应的价钱最低. 2.代码实现 1 import java.util.Scanner; 2 import java.util.InputMismatchException; 3 public class Cheicp { 4 5 public static

买书最优

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

课堂练习-买书价格最低

实验背景 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5%         3 10%         4 20%            5 25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠.       设计算法能够计算出读者购买一批书的最低价格. 一.设计思想此问题可以折算为如何取余

求购买一批打折书的最低价格

设计思想: 前五本书的最低价已经计算出,每增加一本书,所花的钱就会增加 8  7.2   6  4.4或 4.4 元 如此循环下去 源代码: import java.util.Scanner; public class minMoney { public static void main(String args[]){ int booknumber=0; double money=0; Scanner in=new Scanner(System.in); System.out.print("你要

课堂练习---最低价格买书

书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5% 3 10% 4 20% 5 25%根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠.设计算法能够计算出读者购买一批书的最低价格. 思路:首先算出1到10本的最低价格, 1本 8元 2本 15.2元 按照两本的折扣 (和上一个阶段差7.2元) 3本

买书求如何获得折扣使价格最低

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共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%     

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

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

求买书的最低费用

一.设计思路 1.在主函数中输入购买书的数量: 2.调用计算函数将购买的书的数量作为参数传递: 3.在计算函数中给出折扣信息以及5本书以下的最低费用: 4.由思考得知,1到10本书的最低费用是不同的计算,10本之后的最低费用计算都是在前10本书最低费用的基础上进行计算的: 5.用switch将情况分为10类,计算最低费用: 6.在主函数中输出所求得的最低费用. 二.代码实现 1 #include<iostream> 2 using namespace std; 3 4 double GetLo