書店折扣問題

來源:互聯網
上載者:User

標籤:

1.設計題目

      書店針對《哈利傳輸速率》系列書籍進行促銷活動,一共5卷,用編號0、1、2、3、4表示,單獨一卷售價8元, 具體折扣如下所示:
                               本數                  折扣
                                 2                    5%
                                 3                    10%
                                 4                    20%
                                 5                    25%

2.設計要求

     根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應一個折扣規則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優惠。
     設計演算法能夠計算出讀者購買一批書的最低價格。
要求將設計思想、代碼實現、實現、個人總結以博文的形式發表。

3.設計思想

    能夠確定的是5本下的購買數量,買不同卷的書是最便宜的,大於5本的需要分兩種情況, 6本5,1分配;7本5,2分配;8本4,4分配,9本,5,4分配,10本,5,5分配為最佳。

4.代碼

 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5     int num; 6     int m; 7     int n,d; 8     double sum; 9     do{10         cout<<"請輸入要買圖書本書:";11         cin>>num;12     13         if(num<=0)14         {15             cout<<"請重新輸入要買圖書個數:";16         }17         else if(num>0)18         {19             m=num/5;20             n=num%5;21             if(m==0)22             {23                 if(n==0)24                 {25                     sum=0;26                 }27                 else if(n==1)28                 {29                     sum=8;30                 }31                 else if(n==2)32                 {33                     sum=8*2*(1-0.05);34                 }35                 else if(n==3)36                 {37                     sum=8*3*(1-0.10);38                 }39                 else if(n==4)40                 {41                     sum=8*4*(1-0.20);42                 }43             }44             else if(m>0)45             {46                 if(n==0)47                 {48                     sum=5*m*8*(1-0.25);49                 }50                 else if(n==1)51                 {52                     sum=5*8*m*(1-0.25)+8;53                 }54                 else if(n==2)55                 {56                     sum=5*8*m*(1-0.25)+8*2*(1-0.05);57                 }58                 else if(n==3)59                 {60                     sum=5*8*(m-1)*(1-0.25)+8*4*2*(1-0.20);61                 }62                 else if(n==4)63                 {64                     sum=5*8*m*(1-0.25)+8*4*(1-0.20);65                 }66             }67             cout<<"最低價格為:"<<sum<<"元"<<endl;68             cout<<"如果需要計算其他數量的價格請輸1,否則0:";69       cin>>d;70       cout<<endl;}71     }72     while(d==1);73     return 0;74 }

5、程式

6、實驗感想

  要對輸入的變數進行運算時輸入語句要放在運算語句前,否則無法運行,這是本次編程遇到的錯誤。我感覺這個程式可以用函數調用來做,可能代碼會容易讀一點,可能會少幾個大括弧吧。。

書店折扣問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.