折半查找法猜籃球的價格_第1頁
折半查找法猜籃球的價格_第2頁
折半查找法猜籃球的價格_第3頁
折半查找法猜籃球的價格_第4頁
折半查找法猜籃球的價格_第5頁
免費預(yù)覽已結(jié)束,剩余9頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計學(xué) 號班 級姓 名指導(dǎo)教師2008年9月 12日課程設(shè)計任務(wù)題目:用折半查找法猜籃球的價格、課程設(shè)計時間2008年9月 8日至 2008年9月 12日,共計 1周, 20學(xué)時。二、課程設(shè)計內(nèi)容 用 C 語言編寫軟件完成以下任務(wù): 用戶從鍵盤輸入籃球的價格(假設(shè)價格在 1200 元之間,并且為整數(shù)) 讓計算器從 1 元開始用折半法猜測籃球的價格。若計算器的猜測價格偏高, 用戶輸入“高” ;若計算器的猜測價格偏低,用戶就輸入“低” ;若計算器猜 對了,則顯示“正確” 。課程設(shè)計要求、“計算器開始猜1. 程序質(zhì)量: 貫徹結(jié)構(gòu)化的程序設(shè)計思想。 用戶界面友好,功能明確,操作方便。 用戶界面中的

2、菜單至少應(yīng)包括“輸入籃球價格” 測”、“退出” 3 項。代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。2. 課程設(shè)計說明書: 課程結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的格 式和內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:學(xué)生簽名:五、成績:六、教師評語:目錄I、需求分析 二、程序流程圖 三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段 四、個人總結(jié) 五、參考文獻(xiàn)八、源程序、需求分析經(jīng)過對程序設(shè)計題目的分析可知,整個程序的設(shè)計實 現(xiàn)大致分為三個模塊,其中每一個模塊對應(yīng)一個函數(shù),他們的功能分別是:輸入籃球價格函數(shù)(getprice),猜測籃球價格函數(shù)(guessprice),以及主

3、函數(shù)(main)。1、輸入籃球價格函數(shù)主要實現(xiàn)程序最初運行時用戶對籃球價格的設(shè)定(價格在1-200元之間,并且為整數(shù));2、猜測籃球價格函數(shù)實現(xiàn)的功能是讓計算器從1元開始用折半法猜測籃球的價格。若計算器的猜測價格偏高, 用戶輸入“高”;若計算器的猜測價格偏低,用戶就輸入“低”;若計算器猜對了,則顯示“正確”3、主函數(shù)實現(xiàn)的是程序界面的打印,以及根據(jù)用戶輸 入的指令實現(xiàn)功能函數(shù)的調(diào)用。10、程序流程圖1、程序總體結(jié)構(gòu)圖2、具體功能框圖(1)輸入籃球價格函數(shù)(getprice)定義變量初始化當(dāng)輸入價格不在1-200兀以內(nèi)提示用戶輸入籃球價格輸入價格給變量price圖2添加學(xué)生數(shù)據(jù)函數(shù)把price值

4、帶回主函數(shù)圖2輸入籃球價格函數(shù)流程圖(2)猜測籃球價格函數(shù)(guessprice)變量初始化mid=(low+high)/2;當(dāng)賦給mid的值不等于真實價格時輸入字符串:判斷是否偏把mid-1的值賦值給high變量 把mid+1的值賦值給low變量圖3猜測籃球價格函數(shù)流程圖、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段本程序主要由兩個自定義函數(shù)和一個主函數(shù)組成, 其 中主函數(shù)以菜單的形式調(diào)用其它函數(shù)來實現(xiàn)要求的所有 功能。在這些函數(shù)當(dāng)中,輸入籃球價格函數(shù)和猜測籃球價 格函數(shù)是程序中較為核心的部分,下面進(jìn)行說明。1、輸入籃球價格函數(shù)用戶輸入一個價格,對這個PRICE進(jìn)行討論。把價格 限制在1 200內(nèi),如不在

5、這個范圍內(nèi)的話會輸出:“請輸 入價格(在1200元之間,并且為整數(shù)):”直到輸入的在 1-200之間才會進(jìn)行運算。int get pnce(void)int p rice;while (price < 1 | price > 200)printf("請輸入價格(在1200元之間,并且為整數(shù)):");sca nf("%d", &p rice);return (p rice);-E:IicbueT402104, cacIV- V V V V* V V VV- V V V VV V V VV V V VV V V VI卄皿二 g色迎徉四尹豐

6、車密適帶寧孚價恪程序"HXXHHXHH人J輸入籃琢價格入11開爵獅期*»*«*«»«輸人n退岀程序*眾土 "J出HLB圖4程序主界面2、猜測籃球價格函數(shù)定義了兩個整型變量,low,high.這分別是1,200。2) !=,若用折半法來運算:while (mid = (low + high) / price),如果猜測的比實際的高了。你就輸入“高” 低了你就輸入“低”。具體的程序段如下:void guess pnce(i nt p rice)int mid, low = 1, high = 200;char s20 = &qu

7、ot;"while (mid = (low + high) / 2) != p rice)printf("計算機(jī)猜測的價格是:dn", mid);printf("如果價格高,請輸入“高”;如果價格低,請輸入“低”n");高")=0)低")=0) printf(" 猜測結(jié)果正確,籃球的價格是dn",mid);if (strc mp (gets(s)," high = mid - 1; else if (strcm p( s," low = mid + 1;磺 *E:DBbue74(2lO

8、4. oe"UJ R_l U MJ y R-Tup T-JuCJ- ” -T 廿 IU_U_U_U A -T 廿 u y U =2- U U Tut-rU-VJ- u R -B-I- MJ 2M-RJ"T-fWPRFRPR*PRIVPRRFWT BV HPRit J+tK K K M H K M >i K K M H M N M K K A A H H M K-Jft fl M H-Ji M H. H H A iC H A R fS H M K-H fl M Bl-Ji M R H A H *飲迎使屈折半査找法猜籃球價恪程序* wywSFWMWXaHWHMWUHWWM

9、MWXWyWHMWWHMWKMWHWyWHKWWMWtfMywMU_U_UI_|U_H_B.U_U_U_UI_|U_U_B.U_U_uACT| r*. * I yr tTw l-n riU|_U_a_U-U'U_Mbb.'ULJU入*1開始獵測*"UlfWW j<wxw珂MW 耳輸入n 退出程序 *'*41 *H 甘 Vi "H-H K150需逾A價格在1200元之間,并且為整數(shù):后定:lee松gs質(zhì)t魚入高汶ft果價格低請輸入低巒那勰 isA詁炭呆價恪低,請輸入低曹測結(jié)果正確,籃球的價格是佔0fft機(jī)極的a轄口陰 一B圖5程序運行截圖四、個人

10、總結(jié)在這次課設(shè)中我對計算機(jī)的 c語言程序設(shè)計學(xué)習(xí)又有了更深的認(rèn)識。單獨面對課題時根本沒有思路,比如說 什么叫折半法,是通過老師講解才知道是什么原理, 學(xué)會利用圖書館的相關(guān)資料去幫助我的題目, 在老師的幫助和 指導(dǎo)下,讓我學(xué)到了程序的運行等等。通過這次課設(shè),讓我知道計算機(jī)的程序還有很多要學(xué)習(xí)和理解的,它對日后的的畢業(yè)設(shè)計和工作都會有幫助 的,我會繼續(xù)努力的。五、參考文獻(xiàn)1譚浩強(qiáng).C程序設(shè)計.北京:清華大學(xué)出版社,2007 2劉振安等.C程序課程設(shè)計.機(jī)械工業(yè)出版社.2004六、源程序#include vstdio.h#include vstring.h>#include vstdlib.h

11、/*為exit函數(shù)所在的頭文件*/#include vconio.h> /*為getch函數(shù)所在的頭文件*/ void menuO;int get price(void)int p rice;while (p rice < 1 | p rice > 200)printf("請輸入價格(在1200元之間,并且為整數(shù)):"); scanf("%d", &p rice);return (p rice); void guess price(int p rice)int mid, low = 1, high = 200;char s20

12、= ""while (mid = (low + high) / 2) != price)printf("計算機(jī)猜測的價格是:%dn", mid);printf("如果價格高,請輸入高;如果價格低,請輸入低n"); if (strcm p(gets(s),'高")=0)high = mid - 1;else if (strcm p(s,低")=0)low = mid + 1;printf("猜測結(jié)果正確,籃球的價格是 dn",mid);main()int p rice; p rintf"*n""*n"歡迎使用折半查找法猜籃球價格程序*n""*n" *

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論