用折半查找法猜籃球的價(jià)格_第1頁(yè)
用折半查找法猜籃球的價(jià)格_第2頁(yè)
用折半查找法猜籃球的價(jià)格_第3頁(yè)
用折半查找法猜籃球的價(jià)格_第4頁(yè)
用折半查找法猜籃球的價(jià)格_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、沈陽(yáng)航院設(shè)計(jì)用紙題目:用折半查找法猜籃球的價(jià)格一、課程設(shè)計(jì)時(shí)間201011第2學(xué)期第15周,共計(jì)1周,20學(xué)時(shí)。二、課程設(shè)計(jì)內(nèi)容用C語(yǔ)言編寫軟件完成以下任務(wù):用戶從鍵盤輸入籃球的價(jià)格(假設(shè)價(jià)格在1200元之間,并且為整數(shù))讓計(jì)算器從1元開始用折半法猜測(cè)籃球的價(jià)格。若計(jì)算器的猜測(cè)價(jià)格偏高,用戶輸入“高”;若計(jì)算器的猜測(cè)價(jià)格偏低,用戶就輸入“低”;若計(jì)算器猜對(duì)了,則顯示“正確”。三、課程設(shè)計(jì)要求1 .程序質(zhì)量:貫徹結(jié)構(gòu)化的程序設(shè)計(jì)思想。用戶界面友好,功能明確,操作方便。用戶界面中的菜單至少應(yīng)包括“輸入籃球價(jià)格”、“計(jì)算器開始猜測(cè)”、“退出”3項(xiàng)。代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性

2、。2 .課程設(shè)計(jì)說(shuō)明書:課程結(jié)束后,上交課程設(shè)計(jì)說(shuō)明書和源程序。課程設(shè)計(jì)說(shuō)明書的格式和內(nèi)容參見(jiàn)提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:學(xué)生簽名:五、成績(jī):六、教師評(píng)語(yǔ):II沈陽(yáng)航院設(shè)計(jì)用紙4一、需求分析二、設(shè)計(jì)要求目錄12三、主要界面截圖四、技術(shù)要點(diǎn)五、個(gè)人總結(jié)六、參考文獻(xiàn)七序8899源程沈陽(yáng)航院設(shè)計(jì)用紙一、需求分析經(jīng)過(guò)對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)程序大致分為三個(gè)模塊,其中每一個(gè)模塊對(duì)應(yīng)一個(gè)函數(shù),實(shí)現(xiàn)一個(gè)功能,他們的功能分別是:籃球價(jià)格獲取函數(shù)(get),出現(xiàn)目錄的輸出函數(shù)(men。,籃球價(jià)格猜測(cè)函數(shù)(guess),以及主函數(shù)(main)。1、籃球價(jià)格獲取函數(shù)主要實(shí)現(xiàn)程序最初運(yùn)行時(shí)用戶對(duì)

3、籃球價(jià)格的設(shè)定(要求價(jià)格在1-200元之間,并且為整數(shù),若超出范圍則提示重新輸入);2、目錄輸出函數(shù)在程序運(yùn)行時(shí)輸出目錄,使用戶界面更加友好3、籃球價(jià)格猜測(cè)函數(shù)一實(shí)現(xiàn)的功能是讓計(jì)算器從1元開始用折半法猜測(cè)籃球的價(jià)格。若計(jì)算器的猜測(cè)價(jià)格偏高,用戶輸入“g”;若計(jì)算器的猜測(cè)價(jià)格偏低,用戶就輸入“d”;若計(jì)算器猜對(duì)了,則顯示“正確”。;i沈陽(yáng)航院設(shè)計(jì)用紙12、設(shè)計(jì)分析(1)籃球價(jià)格獲取函數(shù)(get)定義變量初始化當(dāng)輸入價(jià)格不在1-200元以內(nèi)提示用戶輸入籃球價(jià)格輸入價(jià)格給變量price把price值返回給guess函數(shù)輸由“猜測(cè)正確”三、主要界面截圖JOJx*賞迎使月圻更靖京肆價(jià)格程序*:MifXK

4、WMMKW:WM-mT仁喻人/球價(jià)格,后午甯測(cè)3.量由哲子矗黃鼻*M13i,期履履M葡一具鵬用再一將鼻內(nèi)神耳具看can元N內(nèi).反權(quán) 所有.勞 冒 5 寵 M UMM . M WtWMHWMKMOiM MM*200元之內(nèi).評(píng)且更求為整數(shù)八力自且我求為整數(shù)):.H exeJHJx*事梵*M11斐制*1堇邕M(jìn)10*現(xiàn)加*箕迎使用寺尸豐注晴建球價(jià)格程序一孫玉就,算看列*算片第HMK仁喻人出球價(jià)格,.子午喃測(cè)力息出他聲瓦技所育.力冒必究弁缸280元之內(nèi).L許施氤前入籃外價(jià)格S00元之內(nèi).日且夏求汽整豌” 210 蚌且妥束為整數(shù),:1、用套鍛寸啰i如果價(jià)格低,請(qǐng)輸入,果為15%箱測(cè)結(jié)是正確?胃鼻彳時(shí)WM

5、稠:M*lfW 晚-清土4韭-+口三 的W于 崎 汁四、技術(shù)要點(diǎn)本程序主要由兩個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn)要求的所有功能。在這些函數(shù)當(dāng)中,添加數(shù)據(jù)函數(shù)、刪除數(shù)據(jù)函數(shù)和排序函數(shù)是程序中較為核心的部分,下面分別進(jìn)行說(shuō)明。1、籃球價(jià)格獲取函數(shù)get由于在題設(shè)中對(duì)籃球的價(jià)格進(jìn)行了設(shè)定,所以必須在此函數(shù)中進(jìn)行對(duì)被輸入的籃球價(jià)格作出判斷,并提示用戶重新輸入一個(gè)符合條件的價(jià)格,因此在此處用一個(gè)while循環(huán)進(jìn)行價(jià)格的獲取,在最后將獲取的價(jià)格返回給籃球價(jià)格猜測(cè)函數(shù)guess。具體程序段如下:intget(void)/*定義int格式的籃球價(jià)格輸入函數(shù)*/intpric

6、e;while(price200)printf(請(qǐng)輸入籃球價(jià)格(200元之內(nèi),并且要求為整數(shù)):);scanf(%d,&price);return(price);2、目錄輸出函數(shù)該函數(shù)沒(méi)有具體的功能,只負(fù)責(zé)程序目錄的輸出:在被主函數(shù)調(diào)用后用一連串的printf函數(shù)進(jìn)行輸出,形成一個(gè)良好的用戶界面。具體程序段如下:voidmenu()printf(”*歡迎使用折半法猜籃球價(jià)格程序printf(*n);printf(”*版權(quán)所有,仿冒必究*n);printf(n);printf(1.輸入籃球價(jià)格n);printf(2.開始猜測(cè)n);printf(3.退出程序n);printf(n);”*n);*3

7、、籃球價(jià)格猜測(cè)函數(shù)guess題目要求的籃球價(jià)格猜測(cè)的方法是折半法,即先用一個(gè)處于比較范圍中央的數(shù)值與被比較數(shù)值進(jìn)行比較,由用戶對(duì)比較結(jié)果作出判斷,通過(guò)循環(huán)的多次比較、用戶判斷、程序自動(dòng)賦值,最終找到與被比較數(shù)值相同的結(jié)果,在此函數(shù)中使用了strcmp函數(shù)對(duì)用戶輸入的判斷結(jié)果進(jìn)行判斷后輸出提示以進(jìn)行下一步用戶判斷。具體的程序段如下:voidguess(intplace)/*籃球價(jià)格猜測(cè)函數(shù),參數(shù)為int類型的place*/intm,l=1,h=200;chars30=;while(m=(l+h)/2)!=place)printf(計(jì)算器猜測(cè)的價(jià)格是:dn,m);printf(如果價(jià)格高,請(qǐng)輸入“

8、g”;如果價(jià)格低,請(qǐng)輸入“d”n);fflush(stdin);if(strcmp(gets(s),g)=0)/*strcmp函數(shù)比較輸入的字符與字符g的大小,并給以判斷*/h=m-1;elseif(strcmp(s,d)=0)/*strcmp函數(shù)比較輸入的字符與字符d的大小,并給以判斷*/l=m+1;printf(計(jì)算器所猜的結(jié)果為d,猜測(cè)結(jié)果正確!n,m);五、個(gè)人總結(jié)通過(guò)20個(gè)學(xué)時(shí)的努力,我完成了這次的C語(yǔ)言程序設(shè)計(jì)任務(wù)。以往我們只進(jìn)行單一功能、單一片段的程序編寫,任務(wù)簡(jiǎn)單。而這次的任務(wù)給了我們一個(gè)全新的視角,讓我們進(jìn)行一個(gè)全局性的“小”工程,從而完成一個(gè)多功能、各部分聯(lián)系緊密的功能性程

9、序體,實(shí)現(xiàn)了由部分到整體的飛躍,讓我獲益匪淺。六、參考文獻(xiàn)譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,2005七、源程序#include#include#include/*為exit函數(shù)所在的頭文件*/#include/*為getch函數(shù)所在的頭文件*/voidmenu();intget(void)/*定義int格式的籃球價(jià)格輸入函數(shù)*/intprice;while(price200)printf(請(qǐng)輸入籃球價(jià)格(200元之內(nèi),并且要求為整數(shù)):);scanf(%d,&price);return(price);voidmenu()printf(*歡迎使用折半法猜籃球價(jià)格程序*n,);printf

10、(n);printf(1.輸入籃球價(jià)格n);printf(2.開始猜測(cè)n);printf(3.退出程序n);printf(n);printf(*n);printf(”*版權(quán)所有,仿冒必究”*n);*voidguess(intplace)/*籃球價(jià)格彳#測(cè)函數(shù),參數(shù)為int類型的place*/intm,l=1,h=200;chars30=;while(m=(l+h)/2)!=place)printf(計(jì)算器猜測(cè)的價(jià)格是:dn,m);printf(如果價(jià)格高,請(qǐng)輸入g;如果價(jià)格低,請(qǐng)輸入dn);fflush(stdin);if(strcmp(gets(s),g)=0)/*strcmp函數(shù)比較輸入的字符與字符g的大小,并給以判斷*/h=m-1;elseif(strcmp(s,d)=0)/*strcmp函數(shù)比較輸入的字符與字符d的大小,并給以判斷*/l=m+1;printf(計(jì)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論