版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
忻州師范學(xué)院計算機科學(xué)與技術(shù)系實驗報告(第六組)組長:梁啟超組員:晉丹丹張艷華馬軍劉雪梅孫鈺林劉濤忻州師范學(xué)院計算機科學(xué)與技術(shù)系實驗報告實驗名稱棧的應(yīng)用專業(yè)班級計本1504班姓名梁啟超學(xué)號指導(dǎo)教師成績?nèi)掌?11/17組員分工晉丹丹(Initstack)張艷華(Push)馬軍(Pop)劉雪梅(Top)孫鈺林(conversion)劉濤(scan)一、實驗?zāi)康谋敬握n程設(shè)計的重要任務(wù)是完畢對數(shù)制轉(zhuǎn)換進行編程,規(guī)定用棧實現(xiàn)十進制到二進制、八進制、十六進制的轉(zhuǎn)換,理解轉(zhuǎn)換進制的原理,純熟對棧的基本操作,用棧的基本操作實現(xiàn)程序的效率化。二、實驗內(nèi)容用棧建立線性表,并進行線性表有關(guān)操作。規(guī)定:要有良好的人機界面,有菜單形式實現(xiàn),含有輸入、判斷轉(zhuǎn)化類型、轉(zhuǎn)化數(shù)據(jù)、輸出成果等。三、實驗規(guī)定1.在問題分析的基礎(chǔ)上選擇適宜的存儲構(gòu)造,進行算法設(shè)計,編制程序并上機調(diào)試成功。2.按規(guī)定完畢實驗報告。3.保存和打印出程序的運行成果,并結(jié)合程序進行分析。四、實驗環(huán)節(jié)一、本演示程序用C編寫,完畢棧的建立,及字符元素進棧與出棧操作1、輸入的形式和輸入值的范疇:2、輸出的形式:a進制數(shù)轉(zhuǎn)換中會輸出十進制轉(zhuǎn)換成的二進制、八進制十六進制數(shù)。輸入一段字符后將返回判斷成果;3、程序所能達成的功效:完畢棧的建成與元素進棧出棧的操作,輸出進制數(shù)轉(zhuǎn)換后的成果及回文判斷的成果。4、測試數(shù)據(jù):十進制轉(zhuǎn)換成二、八、十六進制數(shù)操作中依次輸入任意一種十進制整數(shù)返回它所但愿的成果。二、為了實現(xiàn)上述程序功效,需要定義單鏈表的抽象數(shù)據(jù)類型:Initstack(sqstack&s)操作成果:構(gòu)造一種空的棧S.Push(sqstack&s,selemtypee)初始條件:棧S.已存在操作成果:插入元素e為新的棧頂元素。Pop(sqstack&s,selemtype&e)初始條件:棧S.已存在操作成果:刪除S的棧頂元素并用e返回其值Top(sqstack&s,selemtypee)若棧不空,用e返回s的棧頂元素conversion(intN,intr)操作成果:進制轉(zhuǎn)換各函數(shù)間關(guān)系以下:main()scan()InitstackPushPopTopconversion三、實現(xiàn)概要設(shè)計中定義的全部的數(shù)據(jù)類型,對每個操作給出偽碼算法。對主程序和其它模塊也都需要寫出偽碼算法。棧的定義typedefstruct{selemtype*base;selemtype*top;intstacksize;}sqstack;棧的生成、插入、刪除、運算等操作statusInitstack(sqstack&s){s.base=(selemtype*)malloc(100*sizeof(selemtype));if(!s.base)exit(OVERFLOW);s.top=s.base;s.stacksize=100;returnOK;}statusPush(sqstack&s,selemtypee){if(!s.base)exit(OVERFLOW);*s.top++=e;returnOK;}statusPop(sqstack&s,selemtype&e){if(s.top==s.base)returnERROR;e=*--s.top;returne;}statusTop(sqstack&s,selemtypee){if(s.top==s.base)returnERROR;e=*(s.top-1);returnOK;}voidconversion(intN,intr){ sqstacks; selemtypee;Initstack(s);while(N){Push(s,N%r);N=N/r;} printf("轉(zhuǎn)換后的成果是:");while(s.top!=s.base){Pop(s,e);printf("%d",e);}printf("\n");}.使用闡明與測試成果程序名為TXL.exe,運行環(huán)境為DOS。程序執(zhí)行后顯示(下圖為參考截圖例子。)第一次操作需選擇1,2或3,并且只能選擇一種。程序執(zhí)行顯示我們選擇的操作是1,輸入要轉(zhuǎn)換的十進制數(shù)是10,成果是1010。我們選擇的是繼續(xù)1,這次選的是2,十進制轉(zhuǎn)換八進制,輸入的是10,成果是12。我們選擇的是繼續(xù)1,選的是3,十進制轉(zhuǎn)換十六進制,輸入10,輸出10.五、實驗總結(jié)(調(diào)試和運行程序過程中產(chǎn)生的問題及采用的方法;對算法的程序的討論、分析,改善構(gòu)想以及其它經(jīng)驗教訓(xùn);對實驗方式、組織、設(shè)備、題目的意見和建議等)附源程序清單:#include<stdio.h>#include<stdlib.h>typedefintselemtype;typedefintstatus;#defineOK1#defineOVERFLOW-1#defineERROR0typedefstruct{selemtype*base;selemtype*top;intstacksize;}sqstack;statusInitstack(sqstack&s){s.base=(selemtype*)malloc(100*sizeof(selemtype));if(!s.base)exit(OVERFLOW);s.top=s.base;s.stacksize=100;returnOK;}statusPush(sqstack&s,selemtypee){if(!s.base)exit(OVERFLOW);*s.top++=e;returnOK;}statusPop(sqstack&s,selemtype&e){if(s.top==s.base)returnERROR;e=*--s.top;returne;}statusTop(sqstack&s,selemtypee){if(s.top==s.base)returnERROR;e=*(s.top-1);returnOK;}voidconversion(intN,intr){ sqstacks; selemtypee;Initstack(s);while(N){Push(s,N%r);N=N/r;} printf("轉(zhuǎn)換后的成果是:");while(s.top!=s.base){Pop(s,e);printf("%d",e);}printf("\n");}intscan(){intd;printf("◤棧的應(yīng)用數(shù)制轉(zhuǎn)換◢\n");printf("第6小組\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※數(shù)制轉(zhuǎn)換※\n");printf("※1.十進制轉(zhuǎn)二進制※\n");printf("※2.十進制轉(zhuǎn)八進制※\n");printf("※3.十進制轉(zhuǎn)十六進制※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("--------------------------------------------------\n");printf("請選擇所要進行的操作:");scanf("%d",&d);return(d);}voidmain(){intn,i;switch(scan()){case1:printf("輸入轉(zhuǎn)換的數(shù):");scanf("%d",&n);conversion(n,2);break;case2:printf("輸入轉(zhuǎn)換的數(shù):");scanf("%d",&n);conversion(n,8);break;case3:printf("輸入轉(zhuǎn)換的數(shù):");scanf("%d",&n);conversion(n,16);break;}printf("與否要繼續(xù)?繼續(xù)選擇1,退出選擇0!\n");scan
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑電氣施工方案(完整版)
- 2025年焦?fàn)t試題及答案
- 醫(yī)院肛腸科20XX年終工作總結(jié)
- 2025年工業(yè)機器人仿真編程實戰(zhàn)考核模擬試題及答案
- 施工期間交通導(dǎo)行方案
- 2025年一般生產(chǎn)經(jīng)營單位安全培訓(xùn)考試試題附參考答案(完整版)
- 2025年內(nèi)鏡消毒隔離試題及答案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板律師常用版本
- 建設(shè)工程施工合同糾紛要素式起訴狀模板電子檔隨時編輯
- 網(wǎng)球教學(xué)2026年技能提升
- 2026年勞動關(guān)系協(xié)調(diào)師綜合評審試卷及答案
- 黑龍江八一農(nóng)墾大學(xué)公開招聘輔導(dǎo)員和教師22人參考題庫附答案解析
- 2026年房地產(chǎn)經(jīng)紀(jì)協(xié)理考試題庫及答案(名師系列)
- 南京工裝合同范本
- 2025年二年級上冊語文期末專項復(fù)習(xí)-按課文內(nèi)容填空默寫表(含答案)
- 登高作業(yè)監(jiān)理實施細(xì)則
- 2025年婦產(chǎn)科副高試題庫及答案
- 2025食品機械行業(yè)智能化分析及技術(shù)升級趨勢與投資可行性評估報告
- 2025年度黨委黨建工作總結(jié)
- 《經(jīng)濟法學(xué)》2025-2025期末試題及答案
- CAICV智能網(wǎng)聯(lián)汽車遠(yuǎn)程升級(OTA)發(fā)展現(xiàn)狀及建議
評論
0/150
提交評論