軟件上機作業(yè)_第1頁
軟件上機作業(yè)_第2頁
軟件上機作業(yè)_第3頁
軟件上機作業(yè)_第4頁
軟件上機作業(yè)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上機實驗報告格式要求(學(xué)生姓名)(學(xué)生姓名)xxx (學(xué)號)(學(xué)號)xxxxxxxxxx 上機實驗一(或二、三、四、五)上機實驗一(或二、三、四、五)一、程序流程說明一、程序流程說明有條理的文字或流程圖有條理的文字或流程圖*二、程序代碼二、程序代碼xxxxxxxxxxxxxxxxxxxxxx 注意:注意: 1、反映題目關(guān)鍵內(nèi)容的程序段必須完整、反映題目關(guān)鍵內(nèi)容的程序段必須完整 2、后一實驗使用與前一實驗相同的代碼段可只需注明,不必再次抄寫、后一實驗使用與前一實驗相同的代碼段可只需注明,不必再次抄寫 3、子函數(shù)應(yīng)以加注釋的方式說明其功能、子函數(shù)應(yīng)以加注釋的方式說明其功能三、測試數(shù)據(jù)三、測試數(shù)據(jù)*

2、 輸入:輸入:xxxxx 應(yīng)輸出(上機前自己分析的結(jié)果):應(yīng)輸出(上機前自己分析的結(jié)果):xxxxxxx四、上機時遇到的問題四、上機時遇到的問題(可分為編譯問題和邏輯問題)(可分為編譯問題和邏輯問題)* 問題現(xiàn)象:問題現(xiàn)象: xxxxx 原因:原因:xxxxxxx; 解決辦法:解決辦法:xxxxxxx 問題現(xiàn)象:問題現(xiàn)象: xxxxx 原因:原因:xxxxxxx; 解決辦法:解決辦法:xxxxxxx五、五、實際運行結(jié)果:實際運行結(jié)果: xxxxxx xxxxxx 六六 、小結(jié)、小結(jié) 體會體會*:xxxxxxx上機要求 上機前完成上機實驗報告 明確上機目的 完成程序的初步設(shè)計 制定測試計劃 教師

3、在上機過程中將抽查上機報告的完成情況,并計入平時成績 上機 錄入已設(shè)計的程序 編譯、調(diào)試 總結(jié) 遇到什么問題,怎么解決的上機要求 不允許玩游戲! 影響“民心、士氣” 你有以下選擇 A、完成上機任務(wù),并經(jīng)過老師檢查,正確回答老師問題后,可以在老師的許可下做其它事情 B、登記名字后,繼續(xù)玩。以后 C、不登記名字,離開機房。實驗一:順序表(4學(xué)時)ex1_1:1)首先創(chuàng)建一個順序表:從鍵盤讀入一組整數(shù)(長度首先創(chuàng)建一個順序表:從鍵盤讀入一組整數(shù)(長度小于等于小于等于2020),按輸入順序放入順序表,輸入以),按輸入順序放入順序表,輸入以1 1結(jié)束(注意結(jié)束(注意1 1不放到順序表內(nèi));將創(chuàng)建好的順序

4、不放到順序表內(nèi));將創(chuàng)建好的順序表元素依次輸出到屏幕上。表元素依次輸出到屏幕上。2)在已創(chuàng)建好的順序表中插入一個元素:從鍵盤讀入在已創(chuàng)建好的順序表中插入一個元素:從鍵盤讀入需插入的元素值和插入位置,調(diào)用插入函數(shù)完成插需插入的元素值和插入位置,調(diào)用插入函數(shù)完成插入操作;然后將順序表元素依次輸出到屏幕上。入操作;然后將順序表元素依次輸出到屏幕上。3)在已創(chuàng)建好的順序表中刪除一個元素:從鍵盤讀入在已創(chuàng)建好的順序表中刪除一個元素:從鍵盤讀入欲刪除的元素位置(序號),調(diào)用刪除函數(shù)完成刪欲刪除的元素位置(序號),調(diào)用刪除函數(shù)完成刪除操作;然后將順序表元素依次輸出到屏幕上。除操作;然后將順序表元素依次輸出到

5、屏幕上。提示:相關(guān)常量和順序表數(shù)據(jù)類型定義提示:相關(guān)常量和順序表數(shù)據(jù)類型定義#define MAXNUM 20#define true 1#define false 0typedef struct int dataMAXNUM; int length;list_type; 提示:創(chuàng)建順序表函數(shù)提示:創(chuàng)建順序表函數(shù)/*create a list:input data from keyboard,end by -1*/void createlist(list_type *lp) int i, elem; lp-length=0; printf(nplease input datas of the

6、listn); for(i=0; idatai=elem; lp-length+; 提示:遍歷元素并依次輸出函數(shù)提示:遍歷元素并依次輸出函數(shù)void showlist(list_type *lp) int i; printf(nThese %d records are:n, lp-length); if(lp-length=0) printf(No data!n); return; for(i=0; ilength; i+) printf( %d , lp-datai); printf(nlength of the list is:%d, lp-length);提示:插入函數(shù),成功返回提示:插

7、入函數(shù),成功返回true,反之返回,反之返回false。int insertlist(list_type *lp, int new_elem, int i) int j; if(lp-length=MAXNUM) printf(the list is full,can not insert.); return(false); if(ilp-length+1) printf(n%d is invalid value,i); return(false); for( ) ; /放入新元素; /表長度增加; return(true);提示:刪除函數(shù),成功返回提示:刪除函數(shù),成功返回true,反之返回,

8、反之返回false。int deletelist(list_type *lp, int i) int j; if(ilp-length) printf(elem not exist); return(false); for( ) ; /表長度減少; return(true);刪除所有負(fù)數(shù)的函數(shù)(自己編寫)刪除所有負(fù)數(shù)的函數(shù)(自己編寫)void delete_negative(list_type *l)提示:主函數(shù),按要求調(diào)用已編寫好的各函數(shù)提示:主函數(shù),按要求調(diào)用已編寫好的各函數(shù)void main( ) list_type list; int i, data; createlist(&

9、list); showlist(&list); printf(ninsert:Enter i and data :n); scanf(%d,%d, &i, &data); insertlist(&list, data, i); printf(nlist after insert:n); showlist(&list); printf(ndelete:Enter i:n); scanf(%d, &i); deletelist(&list, i); printf(nlist after delete:n); showlist(&lis

10、t);/* delete_negative(&list); printf(nlist after delete all negative:n); showlist(&list);*/實驗一:順序表(續(xù))ex1_2:p65第第9題(用順序表實現(xiàn))題(用順序表實現(xiàn)) 注意該題中沒有提供插入元素的具體位置,要注意該題中沒有提供插入元素的具體位置,要根據(jù)元素值大小尋找合適的位置。根據(jù)元素值大小尋找合適的位置。實驗二:鏈表(4學(xué)時)ex2_1:1)首先創(chuàng)建一個單鏈表:從鍵盤讀入五個整數(shù),按輸首先創(chuàng)建一個單鏈表:從鍵盤讀入五個整數(shù),按輸入順序形成單鏈表。將創(chuàng)建好的鏈表元素依次輸出入順序形成

11、單鏈表。將創(chuàng)建好的鏈表元素依次輸出到屏幕上。到屏幕上。2)在已創(chuàng)建好的鏈表中插入一個元素:從鍵盤讀入元在已創(chuàng)建好的鏈表中插入一個元素:從鍵盤讀入元素值和插入位置,調(diào)用插入函數(shù)完成插入操作。然素值和插入位置,調(diào)用插入函數(shù)完成插入操作。然后將鏈表元素依次輸出到屏幕上。后將鏈表元素依次輸出到屏幕上。3)在已創(chuàng)建好的鏈表中刪除一個元素:從鍵盤讀入欲在已創(chuàng)建好的鏈表中刪除一個元素:從鍵盤讀入欲刪除的元素位置(序號),調(diào)用刪除函數(shù)完成刪除刪除的元素位置(序號),調(diào)用刪除函數(shù)完成刪除操作。然后將鏈表元素依次輸出到屏幕上。操作。然后將鏈表元素依次輸出到屏幕上。實驗二:鏈表(續(xù))ex2_2: 1)創(chuàng)建一個單鏈表

12、,其數(shù)據(jù)元素為整數(shù),從鍵盤輸創(chuàng)建一個單鏈表,其數(shù)據(jù)元素為整數(shù),從鍵盤輸入,輸入入,輸入0結(jié)束(注意結(jié)束(注意0不放到鏈表內(nèi));不放到鏈表內(nèi)); 2)從鍵盤任意輸入一個整數(shù),在單鏈表中查詢該數(shù),)從鍵盤任意輸入一個整數(shù),在單鏈表中查詢該數(shù),如果單鏈表中已經(jīng)存在這個數(shù),就調(diào)用刪除函數(shù),刪如果單鏈表中已經(jīng)存在這個數(shù),就調(diào)用刪除函數(shù),刪除該元素所在結(jié)點,并將單鏈表在刪除前后的數(shù)據(jù)元除該元素所在結(jié)點,并將單鏈表在刪除前后的數(shù)據(jù)元素依次輸出到屏幕上;素依次輸出到屏幕上; 如果單鏈表中不存在這個數(shù),就調(diào)用插入函數(shù),將這如果單鏈表中不存在這個數(shù),就調(diào)用插入函數(shù),將這個數(shù)插入到單鏈表尾,并將單鏈表在插入前后的數(shù)

13、據(jù)個數(shù)插入到單鏈表尾,并將單鏈表在插入前后的數(shù)據(jù)元素依次輸出到屏幕上。元素依次輸出到屏幕上。 實驗二:鏈表(續(xù))ex2_3: p65第第9題(用鏈表實現(xiàn))題(用鏈表實現(xiàn))實驗三、棧和隊列(4學(xué)時) ex3_1:鏈棧:鏈棧 1)鏈棧結(jié)點類型定義為:鏈棧結(jié)點類型定義為: typedef struct node int data; struct node *next; node_type;2)編寫進(jìn)棧函數(shù))編寫進(jìn)棧函數(shù)push3)編寫出棧函數(shù))編寫出棧函數(shù)pop4)編寫)編寫main函數(shù),首先建立一空鏈棧;函數(shù),首先建立一空鏈棧; 調(diào)用進(jìn)棧函數(shù),將從鍵盤輸入的數(shù)據(jù)元素逐個調(diào)用進(jìn)棧函數(shù),將從鍵盤輸入的

14、數(shù)據(jù)元素逐個進(jìn)棧,輸入進(jìn)棧,輸入0結(jié)束;顯示進(jìn)棧后的數(shù)據(jù)元素;結(jié)束;顯示進(jìn)棧后的數(shù)據(jù)元素; 調(diào)用兩次出棧函數(shù),顯示出棧后的數(shù)據(jù)元素。調(diào)用兩次出棧函數(shù),顯示出棧后的數(shù)據(jù)元素。棧和隊列(續(xù)) ex3_2:循環(huán)隊列:循環(huán)隊列 1)順序循環(huán)隊列類型定義為:順序循環(huán)隊列類型定義為:#define N 20typedef struct int dataN; int front, rear;queue_type;2)編寫循環(huán)隊列出隊函數(shù)編寫循環(huán)隊列出隊函數(shù)dequeue3)編寫循環(huán)隊列入隊函數(shù))編寫循環(huán)隊列入隊函數(shù)enqueue4)編寫函數(shù):)編寫函數(shù):void aa(queue_type *q); 調(diào)用出

15、對函數(shù)把隊列調(diào)用出對函數(shù)把隊列q中的元素一一出對列,如果是負(fù)數(shù)直中的元素一一出對列,如果是負(fù)數(shù)直接拋棄;如果是正數(shù),則調(diào)用入隊函數(shù),插入到接拋棄;如果是正數(shù),則調(diào)用入隊函數(shù),插入到q的隊尾。的隊尾。5)編寫)編寫main函數(shù),首先建立一個隊列,其中的數(shù)據(jù)元素為:函數(shù),首先建立一個隊列,其中的數(shù)據(jù)元素為:2, 3, -4, 6, -5, 8, -9, 7, -10, 20;然后調(diào)用;然后調(diào)用aa函數(shù),并將函數(shù),并將aa函數(shù)調(diào)用前后隊列的數(shù)據(jù)元素分別輸出到屏幕上。函數(shù)調(diào)用前后隊列的數(shù)據(jù)元素分別輸出到屏幕上。 棧和隊列(續(xù)) ex3_3:P.66頁,頁,12題題(需要自己設(shè)計數(shù)據(jù)結(jié)構(gòu))(需要自己設(shè)計

16、數(shù)據(jù)結(jié)構(gòu))ex3_4:P.66頁,頁,13題題(需要自己設(shè)計數(shù)據(jù)結(jié)構(gòu))(需要自己設(shè)計數(shù)據(jù)結(jié)構(gòu))實驗四、二叉樹(4學(xué)時)ex4_1:1)二叉樹結(jié)點類型定義為:)二叉樹結(jié)點類型定義為:typedef struct bnode int data; struct bnode *lc, *rc;bnode_type;2)編寫二叉樹的創(chuàng)建函數(shù),可以是排序二叉樹的創(chuàng)建思路(見教材),)編寫二叉樹的創(chuàng)建函數(shù),可以是排序二叉樹的創(chuàng)建思路(見教材),或者以先序遍歷為框架?;蛘咭韵刃虮闅v為框架。3)編寫中序遍歷函數(shù);)編寫中序遍歷函數(shù);4)編寫后序遍歷函數(shù);)編寫后序遍歷函數(shù);5)編寫先序遍歷函數(shù);)編寫先序遍歷函數(shù);6)編寫)編寫main()函數(shù),先調(diào)用函數(shù),先調(diào)用create函數(shù),建立一顆二叉排序樹;然后函數(shù),建立一顆二叉排序樹;然后分別調(diào)用中序、后序、先序遍歷函數(shù),將二叉樹的先序、中序和后序分別調(diào)用中序、后序、先序遍歷函數(shù),將二叉樹的先序、中序和后序遍歷序列輸出到屏幕上。遍歷序列輸出到屏幕上。實驗四、哈夫曼樹 Ex4-2,輸入一組數(shù)(權(quán)值),編寫算法建立哈夫曼樹,輸出每個權(quán)值對應(yīng)的二進(jìn)制編碼。實驗五、查找和排序(4學(xué)時)ex5_1:查找查找 設(shè)有序序列的數(shù)據(jù)元素為:設(shè)有序序列的數(shù)據(jù)元素為:(3,10,13,17,40,43,50,70)1)編寫順序查找函數(shù)編寫順序查找函數(shù)2)編

溫馨提示

  • 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

提交評論