版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)一順序表操作實(shí)現(xiàn)實(shí)驗(yàn)日期:2017年3月6日實(shí)驗(yàn)?zāi)康募耙?.熟練掌握線性表的基本操作在順序存儲(chǔ)上的實(shí)現(xiàn);2.以線性表的各種操作(建立、插入、刪除、遍歷等)的實(shí)現(xiàn)為重點(diǎn);3.掌握線性表的順序存儲(chǔ)結(jié)構(gòu)的定義和基本操作的實(shí)現(xiàn);4.通過(guò)本實(shí)驗(yàn)加深對(duì)C語(yǔ)言的使用(特別是函數(shù)調(diào)用的參數(shù)傳遞、指針類型的應(yīng)用)。實(shí)驗(yàn)內(nèi)容已知程序文件seqlist.cpp已給出學(xué)生身高信息順序表的類型定義和基本運(yùn)算函數(shù)定義。(1)順序表類型定義typedefstruct{intxh;/*學(xué)號(hào)*/floatsg;/*身高*/intsex;/*性別,0為男生,1為女生*/}datatype;typedefstruct{datatypedata[MAX];/*存放順序表元素的數(shù)組*/intlast;/*表示data中實(shí)際存放元素個(gè)數(shù)*/}Seqlist;(2)基本運(yùn)算函數(shù)原型voidinitList(Seqlist*lp);/*置一個(gè)空表*/voidcreateList(Seqlist*lp);/*建一個(gè)學(xué)生順序表*/voidsort_xh(Seqlist*lp);/*按學(xué)號(hào)排序*/voidError(char*s);/*自定義錯(cuò)誤處理函數(shù)*/voidpntList(Seqlist*lp);/*輸出學(xué)生表*/voidsave(Seqlist*lp,charstrname[]);/*保存學(xué)生順序表到指定文件*/
任務(wù)一創(chuàng)建程序文件seqlist.cpp,其代碼如下所示,理解順序表類型Seqlist和基本運(yùn)算函數(shù)后回答下列問(wèn)題。/*seqlist.cpp程序文件代碼*/#include<stdio.h>#include<stdlib.h>#defineMAX50typedefstruct{intxh;/*學(xué)號(hào)*/floatsg;/*身高*/intsex;/*性別,0為男生,1為女生*/}datatype;typedefstruct{datatypedata[MAX];/*存放順序表元素的數(shù)組*/intlast;/*表示data中實(shí)際存放元素個(gè)數(shù)*/}Seqlist;voidinitList(Seqlist*lp);/*置一個(gè)空表*/voidcreateList(Seqlist*lp);/*建一個(gè)學(xué)生順序表*/voidsort_xh(Seqlist*lp);/*按學(xué)號(hào)排序*/voidError(char*s);/*自定義錯(cuò)誤處理函數(shù)*/voidpntList(Seqlist*lp);/*輸出學(xué)生表*/voidsave(Seqlist*lp,charstrname[]);/*保存學(xué)生順序表到指定文件*//*置一個(gè)空表*/voidinitList(Seqlist*lp){lp->last=0;}/*建一個(gè)學(xué)生順序表*/voidcreateList(Seqlist*lp){ FILE*fp; intxh,sex; floatsg; if((fp=fopen("records.txt","r"))==NULL) { Error("cannotopenfile!"); } while(!feof(fp)) { fscanf(fp,"%d%f%d",&xh,&sg,&sex); lp->data[lp->last].xh=xh; lp->data[lp->last].sg=sg; lp->data[lp->last].sex=sex; lp->last++; } fclose(fp);任務(wù)二1.題目要求創(chuàng)建一個(gè)新的程序文件sy11.cpp,請(qǐng)調(diào)用seqlist.cpp提供的功能函數(shù)(以#include“seqlist.cpp”方式導(dǎo)入函數(shù)庫(kù))及自定義的函數(shù)完成以下操作:創(chuàng)建一個(gè)包含學(xué)生學(xué)號(hào)、身高、性別的學(xué)生身高信息表并輸出到屏幕,學(xué)生信息從records.txt文件讀??;對(duì)已建立的學(xué)生身高信息表按學(xué)號(hào)從小到大排序,并把結(jié)果寫入到數(shù)據(jù)文件中(result.txt);從鍵盤輸入一位學(xué)生的相關(guān)信息插入到已排序的學(xué)生身高信息表中后仍然保持學(xué)號(hào)的有序性;對(duì)插入后的學(xué)生身高信息表進(jìn)行倒置,結(jié)果輸出在屏幕;從鍵盤輸入一個(gè)身高值,統(tǒng)計(jì)與該身高相同的學(xué)生個(gè)數(shù)并輸出在屏幕;在程序文件sy1.cpp需再定義以下三個(gè)功能函數(shù):(1)voidinsertX(Seqlist*lp,datatypex)功能:在學(xué)號(hào)從小到大排序的學(xué)生表中插入值為x的學(xué)生仍保持學(xué)號(hào)的有序性(2)voidreverse(Seqlist*lp)功能:對(duì)lp指向的順序表進(jìn)行倒置操作(3)intcount(Seqlist*lp,floaty)功能:統(tǒng)計(jì)學(xué)生表中身高值為y的學(xué)生數(shù)并返回2.請(qǐng)根據(jù)題目功能要求及程序中的注釋填空完整sy1.cpp代碼/*sy11.cpp程序文件代碼*/#include"seqlist.cpp"http://導(dǎo)入自定義類型及函數(shù)所在的文件seqlist.cpp,該文件與sy11.cpp存于同一目錄中voidinsertX(Seqlist*lp,datatypex);voidreverse(Seqlist*lp);intcount(Seqlist*lp,floaty);voidmain(){Seqliststu;//定義stu為學(xué)生順序表變量datatypex;//x為存儲(chǔ)一個(gè)學(xué)生信息的變量intc;charstrname[20];//strname為存儲(chǔ)文件名的數(shù)組/*創(chuàng)建一個(gè)包含學(xué)生學(xué)號(hào)、身高、性別的學(xué)生身高信息表stu并輸出到屏幕,學(xué)生信息從records.txt文件讀取*/initList(&stu)//調(diào)用函數(shù)initList初始化順序表stucreateList(&stu)//調(diào)用函數(shù)createList創(chuàng)建學(xué)生表stuprintf("\nsourcelist:\n");pntList(&stu)//調(diào)用函數(shù)pntList打印學(xué)生表stugetchar();//在執(zhí)行程序能起到暫定的作用,按任意鍵繼續(xù)/*對(duì)已建立的學(xué)生身高信息表按學(xué)號(hào)從小到大排序,并把結(jié)果寫入到數(shù)據(jù)文件中(result.txt)*/sort_xh(stu)//調(diào)用函數(shù)sort_xh對(duì)學(xué)生表stu按學(xué)號(hào)從小到大排序printf("\nInputnewfilenametosave:");scanf(“”)//鍵盤輸入文件名字符串存于strname字符數(shù)組中save(&stu,strname)//調(diào)用函數(shù)save把排序后的順序表stu存于文件中,文件名在strname數(shù)組中/*從鍵盤輸入一位學(xué)生的相關(guān)信息插入到已排序的學(xué)生身高信息表中后仍然保持學(xué)號(hào)的有序性;*/printf("\nInputastudentinformation:\n");scanf("%d%f%d",&x.xh,&x.sg,&x.sex);insertX(&stu,x)//插入printf("\nlistafterinsert:\n");pntList(&stu); getchar();/*對(duì)插入后的學(xué)生身高信息表進(jìn)行倒置,結(jié)果輸出在屏幕;*/reserve(&stu)//倒置順序表printf("\nlistafterreverse:\n");pntList(&stu); getchar();/*從鍵盤輸入一個(gè)身高值,統(tǒng)計(jì)與該身高相同的學(xué)生個(gè)數(shù)并輸出在屏幕*/printf("\nInputastudentheight:\n");scanf("%f",&x.sg);c=count(&stu,y)//統(tǒng)計(jì)相同身高的學(xué)生數(shù)存于c中printf("\nThesameheight:%d\n",c);getchar();}/*在學(xué)號(hào)從小到大排序的學(xué)生表中插入值為x的學(xué)生仍保持學(xué)號(hào)的有序性*/voidinsertX(Seqlist*lp,datatypex){inti,j;if(lp->last>=MAX)Error("listisfull");//在學(xué)號(hào)升序的順序表中找插入位置后,插入x并使表長(zhǎng)增1elsefor(i=0;i<lp->last;i++)if(lp->last>x)break;for(j=lp->last-1;j>=i;j--)/*從后往前元素后移*/lp->strname[j+1]=lp->strname[j];lp->strname[i]=x;lp->last++;/*插入并表長(zhǎng)增1*/}/*對(duì)lp指向的順序表進(jìn)行倒置操作*/voidreverse(Seqlist*lp){inti,j;datatypetemp;//通過(guò)前后數(shù)據(jù)元素交換的方式實(shí)現(xiàn)倒置for(i=0;j=lp->last–1,j-i>=0;i++,j--){ temp=lp->data[i].sg; lp->data[i].sg=lp->data[j].sg; lp->data[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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新型工業(yè)園區(qū)車間無(wú)償借用執(zhí)行合同3篇
- 二零二五版電商企業(yè)人事行政勞動(dòng)合同模板2篇
- 2025年度個(gè)人房屋買賣糾紛解決機(jī)制協(xié)議4篇
- 二零二五年度合作協(xié)議補(bǔ)充:簽約次數(shù)約定與執(zhí)行標(biāo)準(zhǔn)3篇
- 二零二五年度廚師長(zhǎng)餐飲行業(yè)食品安全培訓(xùn)及咨詢服務(wù)合同3篇
- 二零二五年度土地承包經(jīng)營(yíng)權(quán)入股合同模板
- 二零二五版螺桿式壓風(fēng)機(jī)安裝調(diào)試與性能優(yōu)化合同3篇
- 二零二五年度臨時(shí)用工工作滿意度調(diào)查及改進(jìn)協(xié)議4篇
- 二零二五年度宿舍安全管理宿管員聘用協(xié)議范本3篇
- 二零二五年度ISO 22000食品安全管理體系認(rèn)證咨詢協(xié)議3篇
- 纖維增強(qiáng)復(fù)合材料 單向增強(qiáng)材料Ⅰ型-Ⅱ 型混合層間斷裂韌性的測(cè)定 編制說(shuō)明
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會(huì)展策劃設(shè)計(jì)方案
- 孤殘兒童護(hù)理員(四級(jí))試題
- 梁湘潤(rùn)《子平基礎(chǔ)概要》簡(jiǎn)體版
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護(hù)理課件
- 調(diào)料廠工作管理制度
- 小學(xué)英語(yǔ)單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
評(píng)論
0/150
提交評(píng)論