一、題目要求與設計思路
1.題目要求
書店針對《哈利波特》系列書籍進行促銷活動,一共5卷,用編號0、1、2、3、4表示,單獨一卷售價8元, 具體折扣如下所示:本數(shù) 折扣
2 5%
3 10%
4 20%
5 25%
根據(jù)購買的卷數(shù)以及本數(shù),會對應不同折扣規(guī)則情況。單數(shù)一本書只會對應一個折扣規(guī)則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優(yōu)惠。設計算法能夠計算出讀者購買一批書的最低價格。2.設計思路五本一下的情況就是基礎,其他所有比五本以上的情況都在該基礎之上,我們只需將買6、7、8、9本的用戶最低價格解決了,其他的就可以直接疊加了,通過計算,買6本的時候按5-25%打折、1本不打折方式價錢最少;買7本的時候按5-25%打折、2-5%打折方式價錢最少;買8本的時候按兩次4-20%打折方式價錢最少;買9本的時候按5-25%打折、4-20%打折方式價錢最少。然后用戶輸入購買數(shù)量i,利用下列語句實現(xiàn)a = i / 5;b = 30 * a;c = i % 5。二、源代碼 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace youhuifangfa11 {12 public partial class Form1 : Form13 {14 double b, sum;15 int a, i, c;16 public Form1()17 {18 InitializeComponent();19 }20 21 PRivate void button1_Click(object sender, EventArgs e)22 {23 i = int.Parse(textBox1.Text);24 if (i % 5 != 3)25 {26 a = i / 5;27 b = 30 * a;28 c = i % 5;29 if (c == 0)30 {31 sum = b;32 33 }34 if (c == 1)35 {36 sum = b + 8;37 }38 else if (c == 2)39 {40 sum = b + 16 * 0.95;41 }42 else if (c == 3)43 {44 sum = b + 24 * 0.9;45 }46 else if (c == 4)47 {48 sum = b + 32 * 0.8;49 }50 51 }52 else if(i%5==3&&i!=3)53 {54 a = i / 5;55 b = 30 * (a - 1);56 c = i % 5;57 sum = b + 32 * 0.8 * 2;58 }59 else if (i == 3)60 {61 sum = 0.9 * 24;62 }63 textBox3.Text = sum.ToString();64 }65 66 private void textBox1_TextChanged(object sender, EventArgs e)67 {68 69 }70 }71 }三、運行結果截圖

四、心得體會
這個題目一開始看著挺不好計算的,但是再復雜再大的高樓都有一個基礎,那么這道題目來說,店里給的折扣說明就是基礎,我們只需要按著這個基礎往上考慮就好了,所以,軟件開發(fā),尤其像這一類的實現(xiàn)肯定會有辦法,找到實質(zhì)性的東西,找到什么是變量,什么是不變的量,什么是基礎就好辦了。
新聞熱點
疑難解答