课堂练习4.14
練習題目: 書店針對《哈利波特》系列書籍進行促銷活動,一共5卷,用編號0、1、2、3、4表示,單獨一卷售價8元, 具體折扣如下所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 本數????????????????? 折扣
?????????????????????????????????? 2?????????????????????? 5%
?????????????????????????????????? 3?????????????????????? 10%
?????????????????????????????????? 4?????????????????????? 20%
?????????????????????????????????? 5?????????????????????? 25%
根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應一個折扣規則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優惠。 設計算法能夠計算出讀者購買一批書的最低價格。 一、設計思想 首先分析可得 1、在小于等于五本時按照折扣買即可。 2、分析可得在小于十本時分成兩組比分成多組要合適。 3、、在大于五本小于十本時,經計算可得除在第八本處按照(4,4)分最少,其他在分為(x,5)比較合適。 4、在大于十本時(i本)分析可得與十本內時類似,當i%5!=3時,可以按照i除以5取整得a,a個5本再加上剩下的;當i%5=3時,則按照(a-1)個5本,剩下的分為(4,4),再進行求和。 二、源代碼 #include<iostream.h> void main() {double b,sum;int a,i,c;cout<<"請輸入要購買的本數:";cin>>i;if(i%5!=3){a=i/5;b=30*a;c=i%5;if(c==0){sum=b;}if(c==1){sum=b+8;}else if(c==2){sum=b+16*0.95;}else if(c==3){sum=b+24*0.9;}else if(c==4){sum=b+32*0.8;}}else if(i==3){sum=24*0.9;}else if(i%5==3&&i!=3){a=i/5;b=30*(a-1);c=i%5;sum=b+32*0.8*2;}cout<<"最低價格為:"<<sum<<endl; }三、結果截圖
四、實驗總結 本次實驗是在課堂上構思出來的,通過此次實驗我首先的感悟是動手很重要,因為此次題目很難一眼看見規律,所以一直看的話是很難下手的。在老師的提醒下,很快發現需要考慮的只有6、7、8、9四種情況,再大的話情況是類似的,通過計算很快發現只有在8時與其他情況不同,所以只需通過判斷語句在余數為三時做出不同的計算即可。轉載于:https://www.cnblogs.com/gaoyang110/p/4425852.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: IIS发布 MVC 配置
- 下一篇: Learn Python The Har