课堂作业-购书问题

1.题目要求:

 书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:

                               本数                   折扣

                                  2                    5%

                                  3                    10%

                                  4                    20%

                                  5                    25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
 
 
2.设计思想:
         
购书数量 优惠价格 最低价格
1 0 8
2 0.8   15.2
3 2.4 21.6
4 6.4 25.6
5 10 30
6=5+1 10 38
6=4+2 7.2 40.8
7=5+2 10.8 35.5
7=4+3 8.8 47.2
8=5+3 12.4 51.6
8=4+4 12.8 51.2

由表可知,逢8特殊。

3.程序源代码:

import java.util.*;
public class BuyingBooks {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        double p=0;//购买总价格,初始化为0
        int c;//购买总数量
        System.out.println("请输入购书数量:");
        c=sc.nextInt();
        
        if(c%5==1)
        {
            p=c/5*0.75*5*8+8*1;
        }
        else if(c%5==2)
        {
            p=c/5*0.75*5*8+8*2*0.95;
        }
        else if(c%5==3&&c>5)
        {
            p=(c/5-1)*0.75*5*8+2*8*4*0.8;
        }
        else if(c%5==3&&c<5)
        {
            p=c*8*0.9;
        }
        else if(c%5==4)
        {
            p=c/5*0.75*5*8+8*4*0.8;
        }
        else
        {
            p=c/5*0.75*5*8;
        }
        System.out.println("需要支出的最少金额为:"+p+"元");
    }
}

4.结果截图:

5.实验总结:

实验看起来复杂,但是只要仔细思考找准题意很好解决。

原文地址:https://www.cnblogs.com/jianglingjun/p/5556473.html