课堂练习(卖书问题)

设计思想:

通过简单的枚举计算,发现只有在   买书数=3+5*n(n>0)时才会有特殊情况产生,其他情况均一致,所以就利用switch语句对 买书数除5的余数进行判断,进行不同的分类计算,其中当余数为3时进行买书数是否大于5的判断,进行计算;

程序代码:

package text;
import java.util.Scanner;
public class Halibote {
    public static double money(int m0,int m1){
        double money=0;
        switch(m0){
        case 0:
            money=m1*8*5*0.75;
            break;
        case 1:
            money=m1*8*5*0.75+8;
            break;
        case 2:
            money=m1*8*5*0.75+8*2*0.95;
            break;
        case 3:
        {
            if(m1==0)
            {
                money=m1*8*5*0.75+8*3*0.9;
            }
            else
            {
                money=(m1-1)*8*5*0.75+8*4*0.8*2;
            }
            break;
        }
        case 4:
            money=m1*8*5*0.75+8*4*0.8;
            break;
            default:
                break;
        }
        return money;
    }
    public static void main(String args[]){
        Scanner in=new Scanner(System.in);
        int n;
        System.out.println("请输入购书总数:");
        n=in.nextInt();
        int m0,m1;
        m0=n%5;//按照五本一组多出来的数目
        m1=n/5;
        double money;
        money=money(m0,m1);
        System.out.println(money);
    }
}

运行结果截图:

个人感想:

程序设计有时需要自己事前进行一些枚举计算方便进行寻找规律,进而利用规律编程。

时间: 2024-10-14 17:03:13

课堂练习(卖书问题)的相关文章

Apache Bigtop再论与卖书求生存

快一年没写博客了,终于回来了,最近因公司业务需要,要基于cdh发行版打包自定义patch的rpm,于是又搞起了bigtop,就是那个hadoop编译打包rpm和deb的工具,由于国内基本没有相关的资料和文档,所以觉得有必要把阅读bigtop源码和修改的思路分享一下. 我记得很早以前,bigtop在1.0.0以前版本吧,是用make进行打包的,其实这个0.9.0以前的版本,搁我觉得就不应该出现在apache正式仓库里,就应该放在incubator里面,但是估计由于是cdh主导开发的,而Doug C

课堂练习-买书价格最低

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

课堂练习-促销书

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

成套卖书最大优惠问题

一.设计思路: 当买的书低于5本时,一本折扣为0,两本为5%,三本为10%,四本为20%,五 本为25%: 当买的书为6本时,6=5+1即5本成套购买,1本单独购买为最低价格. 当买的书为7本时,7=5+2即5本成套购买,2本成套购买为最低价格. 当买的书为8本时,8=5+3即5本成套购买,3本成套购买,折扣为35%, 而8=4+4即4本成套购买,4本成套购买折扣为40%,为最低价格. 当买的书为9本时,9=5+4即5本成套购买,4本成套购买为最低价格. 当买的书为10本时,10=5+5为最低价

课堂作业:书

#include <iostream> using namespace std; double p(int x) { double pc; if (x == 1) pc = 8; else if (x == 2) pc = 16 * 0.95; else if (x == 3) pc = 24 * 0.9; else if (x == 4) pc = 32 * 0.8; else if (x == 5) pc = 40 * 0.75; return pc; } void main() { in

课堂练习-买书折扣最低

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

组队开发----卖书问题

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

noip模拟赛 卖书

分析:模拟题,只是有几个地方需要注意一下:第一个人必须支付5元,找零15元可以找一张10元一张5元,也可以找3张5元. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> int n, t, a[4]; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) {

张书乐:当当网沦落 夫妻档还能好好开店吗?

"当当整整17年了,17年我头发都白了就干这么一件事."当当CEO李国庆的一句感慨,道出了一个电商人想从垂直化的"档"变成平台"店"的上下求索. 文/张书乐 刊载于<互联网经济>2017年1.2月合刊 1999年,俞渝和李国庆夫妻共同创立了当当,卖书为生:2010年,当当赴美国纽交所上市,成为国内第一家在美上市的B2C电商公司,稳居国内电商3强,彼时的当当,正在从图书垂直电商,变为综合电商平台,至少表面上:2016年9月,当当宣布完成