


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、無課課 程程 設(shè)設(shè) 計計學(xué)學(xué)號號班班級級姓姓名名指導(dǎo)教師指導(dǎo)教師2008 年年3 月月7 日日無課 程 設(shè) 計 任 務(wù) 書課 程 設(shè) 計 任 務(wù) 書一、一、課程設(shè)計題目:課程設(shè)計題目: 冒泡法與選擇法排序效率比較冒泡法與選擇法排序效率比較二、課程設(shè)計工作自二、課程設(shè)計工作自 2008 年年 3 月月 3 日至日至 2008 年年 3 月月 10 日止日止三、課程設(shè)計內(nèi)容:三、課程設(shè)計內(nèi)容:用 C 語言編寫軟件完成一下任務(wù):比較“冒泡排序”和“選擇排序”兩種排序方法。完成同樣的工作,一個算法的時間效率越高(使用的時間越少) ,越容易受歡迎。假設(shè)算法的時間主要消耗在兩個方面:賦值運算,比較運算。請
2、用程序讀取給定的數(shù)據(jù)(file24.txt,由教師提供)后,分別使用“冒泡排序”和“選擇排序”兩種方法進行排序,并分別統(tǒng)計出各自需要的“賦值運算次數(shù)”和“比較運算次數(shù)” ,從而對它們的時間效率進行初步評價。四、課程設(shè)計要求四、課程設(shè)計要求1. 程序質(zhì)量:程序質(zhì)量:貫徹結(jié)構(gòu)化的程序設(shè)計思想。用戶界面友好,功能明確,操作方便。用戶界面中的菜單至少應(yīng)包括“讀取數(shù)據(jù)” 、 “冒泡法排序” 、 “選擇法排序” 、 “退出”4 項。代碼應(yīng)適當(dāng)縮進,并給出必要的注釋,以增強程序的可讀性。2. 課程設(shè)計說明書:課程設(shè)計說明書:課程結(jié)束后,上交課程設(shè)計說明書(打印稿和電子稿) ,其內(nèi)容下:封面課程設(shè)計任務(wù)書目錄
3、需求分析(分析題目的要求)程序流程圖(總體流程圖和主要功能模塊流程圖)核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段個人總結(jié)參考資料源程序及適當(dāng)?shù)淖⑨屩笇?dǎo)教師:指導(dǎo)教師:學(xué)生簽名:學(xué)生簽名:_無目錄目錄一、需求分析.1二、程序流程圖.1三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段.4四、個人總結(jié).7五、參考文獻.7六、源程序.7無一、需求分析一、需求分析經(jīng)過對程序題目的分析可知, 整個程序分為四大部分。每一部分對應(yīng)一個函數(shù)。它們的功能分別是:文件裝載(read) ;冒泡法排序(maopao) ;選擇法排序(xuanze) ;效率比較主函數(shù)(main) 。1文件裝載函數(shù)實現(xiàn)裝載所給文件, 讀取文件所給數(shù)值。2冒泡法排序函
4、數(shù)主要實現(xiàn)數(shù)據(jù)的冒泡法排序和賦值運算與比較運算的次數(shù)。3選擇法排序函數(shù)主要實現(xiàn)數(shù)據(jù)的選擇法排序和賦值運算與比較運算的次數(shù)。4效率比較主函數(shù)實現(xiàn)冒跑法排序與選擇法排序效率比較 與界面顯示。二、程序流程圖二、程序流程圖1、冒泡排序法流程圖、冒泡排序法流程圖無定義 int i,j,t,a=0,b=0;當(dāng) j08當(dāng) i09-jif(studi.num studi+1.num)是否交換 studi.num studi+1.numa+3,b+1輸出冒泡法:賦值運算 a 次,比較運算 b 次反還 a+b2、選擇法排序流程圖、選擇法排序流程圖無定義 int i,j,t,a=0,b=0,num=0;當(dāng) j101
5、mini;a當(dāng) i0jif(studi.numstudmin.num)是否min=i;交換studi.num和studmin.num,a4,b1輸出選擇法:賦值運算 a 次,比較運算 b 次反回 a+b3、文件裝載流程圖、文件裝載流程圖for(i=0;i10;i+)讀取 stdi關(guān)閉文件4、排序效率比較模塊的流程圖、排序效率比較模塊的流程圖無bs&b!=0&s!=0冒泡排序法效率高是否輸出輸出選擇排序法效率高請先運行兩種排序方法三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段本程序主要由三個自定義函數(shù)和一個主函數(shù)組成,其中主函數(shù)以菜單形式調(diào)用三個自定義函數(shù)來
6、實現(xiàn)所有功能。其中冒泡法排序函數(shù)與選擇法排序函數(shù)是核心部分。現(xiàn)分別進行說明:1文件裝載函數(shù)該函數(shù)用于打開指定文件,以便下面的程序段使用其中的數(shù)據(jù).其過程是定義一個文件指針,并使之指向指定的文件,然后用 fopen 函數(shù)打開文件.這樣文件就裝載完畢.具體程序段如下:無#include struct uint num;u10;void read()/ 聲明聲明 read 函數(shù)函數(shù)/int i;FILE *fp;if(fp=fopen(d:file24.txt,r)=NULL)/打開文件打開文件“file24.txt”/printf(文件打開失敗文件打開失敗n);return;for(i=0;i10
7、;i+)/構(gòu)成循環(huán)構(gòu)成循環(huán)/fscanf(fp,%6d,&ui.num);fclose(fp);/關(guān)閉文件關(guān)閉文件/2 .冒泡法排序函數(shù)該函數(shù)對指定數(shù)據(jù)排序.通過兩次循環(huán),依次比較兩相鄰數(shù)據(jù)之后替換.直至循環(huán)完畢. 這時排序完畢.具體函數(shù)段如下:maopao()/冒泡法排序冒泡法排序/int i,j,t,a=0,b=0;read();for (j = 0; j 9; j+)for (i = 0; i 9-j; i+)if (ui.num 0;j-)min=j;a+;for(i=0;i=j;i+)if(ui.numumin.num)min=i;a+;b+;t=umin.num;a+;um
8、in.num=uj.num;a+;uj.num=t;a+;printf(選擇法選擇法:賦值運算賦值運算%d 次次,比較運算比較運算%d 次次n,a,b);return(a+b);/返回運算次數(shù)返回運算次數(shù)/無四、個人總結(jié)四、個人總結(jié)一個星期的課程設(shè)計結(jié)束了, 在這幾天的學(xué)習(xí)過程中我學(xué)到了很多,讓我對 C+和 WORD 的使用更加的了解和熟練。在實踐的過程中讓我體會到了挫折與失敗的滋味, 同時也讓我體會到了成功的喜悅。在編寫程序時遇到了很多的困難, 但這些并不能阻止我要寫好程序的決心,俗話說: “只有功夫深,鐵杵磨成針” 。在我不懈的努力和老師的幫助下,一個個困難被我征服,一個嶄新的程序完成了。
9、看著程序的完成心里有說不出的高興,那是成功的喜悅。我相信通過這次實踐我學(xué)到的所有知識將會收益終生。五、參考文獻五、參考文獻1 譚浩強C 程序設(shè)計北京:清華大學(xué)出版社,20052 劉成等C 語言程序設(shè)計實驗指導(dǎo)與習(xí)題集北京:中國鐵道出版社,2006六、源程序六、源程序#include struct uint num;無u10;void read()int i;FILE *fp;if(fp=fopen(d:file24.txt,r)=NULL)printf(文件打開失敗文件打開失敗n);return;for(i=0;i10;i+)fscanf(fp,%6d,&ui.num);fclose(
10、fp);maopao()int i,j,t,a=0,b=0;read();for (j = 0; j 9; j+)for (i = 0; i 9-j; i+)if (ui.num 0;j-)min=j;a+;for(i=0;i=j;i+)if(ui.numumin.num)min=i;a+;b+;t=umin.num;a+;umin.num=uj.num;a+;uj.num=t;a+;printf(選擇法選擇法:賦值運算賦值運算%d 次次,比較運算比較運算%d 次次n,a,b);return(a+b);void main()int i,a=0,b=0;char e;printf(-n);pri
11、ntf(-n);printf(-歡迎使用冒泡選擇比較程序歡迎使用冒泡選擇比較程序-n);printf(-l 裝載文件裝載文件 file24.txt-n);printf(-a 使用冒泡法排使用冒泡法排-n);printf(-b 使用選擇法排序使用選擇法排序-n);printf(-c 比較兩種排序方法的效比較兩種排序方法的效-n);printf(-q 退出退出-n);printf(-n);for(;)無scanf(%c,&e);if(e=l)read();printf(nfile24.txt 文件裝載成功,其中數(shù)據(jù)為:文件裝載成功,其中數(shù)據(jù)為:n);for(i=0;i10;i+)printf(%d,ui.num);printf(n);else if(e=a)a=maopao();printf(數(shù)據(jù)排序成功,排序結(jié)果為:數(shù)據(jù)排序成功,排序結(jié)果為:n);for(i=0;i10;i+)printf(%d,ui.num);printf(n);else if(e=b)b=xuanze();printf(數(shù)據(jù)排序成功,排序結(jié)果為:數(shù)據(jù)排序成功,排序結(jié)果
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45125-2025數(shù)字印刷材料用酚醛樹脂軟化點的測定顯微熔點儀法
- 河道下踏步施工方案
- 河鋼廣場施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務(wù)協(xié)議
- 美容院員工晉升與發(fā)展激勵合同(2025年度)
- 2025年度駕校教練員車輛保險承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術(shù)居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- GB/T 32685-2016工業(yè)用精對苯二甲酸(PTA)
- 部編優(yōu)質(zhì)課國家一等獎初中語文八年級下冊《大道之行也》
- 小學(xué)六年級下冊心理健康教育-1多種角度看自己-課件
- 2023年重慶市春招考試信息技術(shù)模擬試題一
- 醫(yī)囑制度檢查總結(jié)(4篇)
- 普中51單片機開發(fā)攻略
- 2022年廊坊市財信投資集團有限公司招聘筆試試題及答案解析
- 第2章 軌道幾何形位《鐵路軌道》
- 《小餐飲經(jīng)營許可證》注銷申請表
- 《我愛你漢字》課件
- 完整版北師大版二年級數(shù)學(xué)下冊全冊課件
評論
0/150
提交評論