zoukankan      html  css  js  c++  java
  • 关于《哈利波特》书的购买方案

    设计思路:

      

      通过计算发现,购买时只需按(x*5+y)(0<y<5),x套5本另外买y本(0<y<5)时价格最低,但是其中有一个列外,在x*5+2*4的情况这,按x套5本,2套4本购买比x套5本另外买y本便宜。所以便可以通过情况分析编程。

    程序代码:  

     1 #include <iostream>
     2 using namespace std;
     3 
     4 void main()
     5 {
     6     int x;
     7     cout << "请输入要购买的本数:" << endl; 
     8     cin >> x;
     9 
    10     int i;
    11     i = x/5;
    12 
    13     if (x < 5)
    14     {
    15         switch(x)
    16         {
    17         case 1:
    18             cout << "买1本书最低价格为8元"<< endl;
    19             break;
    20         case 2:
    21             cout << "买2本书最低价格为" << x*8*0.95 << ""<< endl;
    22             break;
    23         case 3:
    24             cout << "买3本书最低价格为" << x*8*0.9 << ""<< endl;
    25             break;
    26         case 4:
    27             cout << "买4本书最低价格为" << x*8*0.8 << ""<< endl;
    28         }
    29     }
    30     else{
    31         switch(x%5)
    32         {
    33         case 0:
    34             cout << "" << i << "套5本的" << endl;
    35             cout << "最低价格为:" << i*8*5*0.75<< endl;
    36             break;
    37         case 1:
    38             cout << "" << i << "套5本的" << endl;
    39             cout << "外加" << x%5 << "" << endl;
    40             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8<< endl;
    41             break;
    42         case 2:
    43             cout << "" << i << "套5本的" << endl;
    44             cout << "外加" << x%5 << "" << endl;
    45             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8*0.95 << endl;
    46             break;
    47         case 3:
    48             cout << "" << i-1 << "套5本的" << endl;
    49             cout << "外加2套4本" << endl;
    50             cout << "最低价格为:" << (i-1)*8*5*0.75 + 2*4*8*0.8 << endl;
    51             break;
    52         case 4:
    53             cout << "" << i << "套5本的" << endl;
    54             cout << "外加" << x%5 << "" << endl;
    55             cout << "最低价格为:" << i*8*5*0.75 + (x%5)*8*0.8 << endl;
    56         }
    57     }
    58 }

    结果截图:

    个人总结:

      这道题挺简单的,但是怎样更简单的做出来才是最好的。通过分析,最后选择了这个方法。感觉还是这样简单。

  • 相关阅读:
    解决Django和EasyUI搭配使用时出现的CSRF问题
    修改Django的默认打印时间
    解决多网卡SNMP获取不到数据的问题
    Django模板格式
    java操作excel
    数字1的个数
    leetcode:2. 两数相加(java)
    二叉树常用操作
    通配符匹配
    二叉树基本操作
  • 原文地址:https://www.cnblogs.com/zrdm/p/4488792.html
Copyright © 2011-2022 走看看