zoukankan      html  css  js  c++  java
  • 课堂练习之《哈利波特》

    设计思想:

         根据计算找到以下规律,用总数除以5,余数为0时,按5本一组折扣25%算最便宜,当然还要考虑用户输入的为0时的情况;余数为1时,按其中一本原价,其他5本一组折扣25%算最便宜;余数为2时,按其中两本折扣5%,其余5本一组折扣25%算最便宜;余数为3时,如果总数为3本,按折扣10%,否则按其中八本四本一组按折扣20%,其余5本一组折扣25%算最便宜;余数为4时,按其中四本折扣20%,其余5本一组折扣25%算最便宜。

    代码实现:

         import java.util.Scanner;

    public class Dazhe {

       public  static void main(String []agrs){

          Scanner reader=new Scanner(System.in);

          System.out.println("请输入要买书的总数:");

          int sum=reader.nextInt();

          int shang=sum/5; //总数除5取商

          int yushu=sum%5; //总数除5取余

          double price=0;

          switch(yushu)     //按照余数分类

          {

          case 0:          //余数为0时

             if(sum==0)    //若输入为0,直接提示输入错误

             {

                System.out.println("输入错误!请重新输入!");

                break;

             }

             else       //否则按5本一组买

             {

                price=5*8*(0.75)*shang;

                break;

             }

          case 1:   //余数为1时

             price=8+shang*5*8*(0.75);   //有一本按原价算,其他按5本一组

             break;

          case 2: //余数为2时

              price=shang*5*8*(0.75)+2*8*(0.95); //其中两本按折扣5%算,其余按5本一组算

              break;

          case 3: //余数为3时

             if(sum==3)   //若为3本,则直接按10%的折扣算

             {

               price=3*8*(0.9);

               break;

             }

             else        //否则其中八本按四本一组折扣20%算,其余按5本一组算

             {

                price=(shang-1)*5*8*(0.75)+4*8*(0.8)*2;

                break;

             }

          case 4:  //余数为4时,其中四本按折扣25%算,其余按5本一组算

             price=shang*5*8*(0.75)+4*8*(0.8);

             break;

          }

          System.out.println("您最少需支付:"+price+"元");

       }

    }

     

    实现截图:

             

    个人总结:

         一些编程问题要先手动计算,寻找规律,再进行演绎推理。

  • 相关阅读:
    设计模式之单例模式(Singleton)
    ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
    ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘
    [学习笔记] $Maximum$ $Minimum$ $identity$
    BZOJ 2159: Crash 的文明世界(组合数学+第二类斯特林数+树形dp)
    BZOJ 3083: 遥远的国度 (树剖+线段树)
    LUOGU P4560 [IOI2014]Wall 砖墙 (线段树)
    牛客网 NOIP赛前集训营-普及组(第四场)C--部分和 (高维前缀和)
    LUOGU P1501 [国家集训队]Tree II (lct)
    LUOGU P3690 【模板】Link Cut Tree (lct)
  • 原文地址:https://www.cnblogs.com/jinpeigang/p/5542960.html
Copyright © 2011-2022 走看看