zoukankan      html  css  js  c++  java
  • 蓝桥杯 购物单(使用word协助)


    标题: 购物单

    小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

    这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。
    小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。
    现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。

    取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。
    你的任务是计算出,小明最少需要取多少现金。

    以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。
    -----------------

    ****     180.90       88折
    ****      10.25       65折
    ****      56.14        9折
    ****     104.65        9折
    ****     100.30       88折
    ****     297.15        半价
    ****      26.75       65折
    ****     130.62        半价
    ****     240.28       58折
    ****     270.62        8折
    ****     115.87       88折
    ****     247.34       95折
    ****      73.21        9折
    ****     101.00        半价
    ****      79.54        半价
    ****     278.44        7折
    ****     199.26        半价
    ****      12.97        9折
    ****     166.30       78折
    ****     125.50       58折
    ****      84.98        9折
    ****     113.35       68折
    ****     166.57        半价
    ****      42.56        9折
    ****      81.90       95折
    ****     131.78        8折
    ****     255.89       78折
    ****     109.17        9折
    ****     146.69       68折
    ****     139.33       65折
    ****     141.16       78折
    ****     154.74        8折
    ****      59.42        8折
    ****      85.44       68折
    ****     293.70       88折
    ****     261.79       65折
    ****      11.30       88折
    ****     268.27       58折
    ****     128.29       88折
    ****     251.03        8折
    ****     208.39       75折
    ****     128.88       75折
    ****      62.06        9折
    ****     225.87       75折
    ****      12.89       75折
    ****      34.28       75折
    ****      62.16       58折
    ****     129.12        半价
    ****     218.37        半价
    ****     289.69        8折

    --------------------

    需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。
    特别地,半价是按50%计算。

    请提交小明要从取款机上提取的金额,单位是元。
    答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。

    解法:  

    首先将购物单复制粘贴到word里面

    然后点击开始出的替换(或者直接按ctrl+h),将****替换为空格,将折替换为空格,将半价替换为5。

     替换完之后变为这样:

     通过word查看其行数,发现这里一共有50行,所以可以开一个double arr[50][2]保存全部数据

     

    遍历这50个数据,如果arr[i][1]小于10,则 arr[i][1] *= 0.1  ,   如果arr[i][1]大于10,则arr[i][1] *= 0.01,最后求出总和,具体请看如下程序:

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 double d[50][2];
     6 
     7 int main()
     8 {
     9     for (int i = 0; i < 50; ++i)
    10         cin >> d[i][0] >> d[i][1];
    11 
    12     double sum = 0;
    13 
    14     for (int i = 0; i < 50; ++i)
    15     {
    16         if (d[i][1] < 10)
    17             d[i][1] *= 0.1;
    18         else
    19             d[i][1] *= 0.01;
    20         sum += d[i][0] * d[i][1];
    21     }
    22 
    23     cout << "-------------------------------------------------
    ";
    24     cout << sum << endl;
    25 
    26 
    27     return 0;
    28 }

     所以最终结果为5200.

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number (考虑负数的情况)
    8. String to Integer (整数的溢出)
    7. Reverse Integer (整数的溢出)
    LeetCode Minimum Size Subarray Sum
    LeetCode Course Schedule II
    Linux 文件缓存 (一)
    LeetCode Tries Prefix Tree
    Linux : lsof 命令
    LeetCode Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/FengZeng666/p/10547349.html
Copyright © 2011-2022 走看看