版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
忻州師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系實(shí)驗(yàn)報(bào)告(第六組)組長:梁啟超組員:晉丹丹張艷華馬軍劉雪梅孫鈺林劉濤忻州師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱棧的應(yīng)用專業(yè)班級(jí)計(jì)本1504班姓名梁啟超學(xué)號(hào)指導(dǎo)教師成績?nèi)掌?11/17組員分工晉丹丹(Initstack)張艷華(Push)馬軍(Pop)劉雪梅(Top)孫鈺林(conversion)劉濤(scan)一、實(shí)驗(yàn)?zāi)康谋敬握n程設(shè)計(jì)的重要任務(wù)是完畢對(duì)數(shù)制轉(zhuǎn)換進(jìn)行編程,規(guī)定用棧實(shí)現(xiàn)十進(jìn)制到二進(jìn)制、八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換,理解轉(zhuǎn)換進(jìn)制的原理,純熟對(duì)棧的基本操作,用棧的基本操作實(shí)現(xiàn)程序的效率化。二、實(shí)驗(yàn)內(nèi)容用棧建立線性表,并進(jìn)行線性表有關(guān)操作。規(guī)定:要有良好的人機(jī)界面,有菜單形式實(shí)現(xiàn),含有輸入、判斷轉(zhuǎn)化類型、轉(zhuǎn)化數(shù)據(jù)、輸出成果等。三、實(shí)驗(yàn)規(guī)定1.在問題分析的基礎(chǔ)上選擇適宜的存儲(chǔ)構(gòu)造,進(jìn)行算法設(shè)計(jì),編制程序并上機(jī)調(diào)試成功。2.按規(guī)定完畢實(shí)驗(yàn)報(bào)告。3.保存和打印出程序的運(yùn)行成果,并結(jié)合程序進(jìn)行分析。四、實(shí)驗(yàn)環(huán)節(jié)一、本演示程序用C編寫,完畢棧的建立,及字符元素進(jìn)棧與出棧操作1、輸入的形式和輸入值的范疇:2、輸出的形式:a進(jìn)制數(shù)轉(zhuǎn)換中會(huì)輸出十進(jìn)制轉(zhuǎn)換成的二進(jìn)制、八進(jìn)制十六進(jìn)制數(shù)。輸入一段字符后將返回判斷成果;3、程序所能達(dá)成的功效:完畢棧的建成與元素進(jìn)棧出棧的操作,輸出進(jìn)制數(shù)轉(zhuǎn)換后的成果及回文判斷的成果。4、測(cè)試數(shù)據(jù):十進(jìn)制轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)操作中依次輸入任意一種十進(jì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)操作成果:進(jìn)制轉(zhuǎn)換各函數(shù)間關(guān)系以下:main()scan()InitstackPushPopTopconversion三、實(shí)現(xiàn)概要設(shè)計(jì)中定義的全部的數(shù)據(jù)類型,對(duì)每個(gè)操作給出偽碼算法。對(duì)主程序和其它模塊也都需要寫出偽碼算法。棧的定義typedefstruct{selemtype*base;selemtype*top;intstacksize;}sqstack;棧的生成、插入、刪除、運(yùn)算等操作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");}.使用闡明與測(cè)試成果程序名為TXL.exe,運(yùn)行環(huán)境為DOS。程序執(zhí)行后顯示(下圖為參考截圖例子。)第一次操作需選擇1,2或3,并且只能選擇一種。程序執(zhí)行顯示我們選擇的操作是1,輸入要轉(zhuǎn)換的十進(jìn)制數(shù)是10,成果是1010。我們選擇的是繼續(xù)1,這次選的是2,十進(jìn)制轉(zhuǎn)換八進(jìn)制,輸入的是10,成果是12。我們選擇的是繼續(xù)1,選的是3,十進(jìn)制轉(zhuǎn)換十六進(jìn)制,輸入10,輸出10.五、實(shí)驗(yàn)總結(jié)(調(diào)試和運(yùn)行程序過程中產(chǎn)生的問題及采用的方法;對(duì)算法的程序的討論、分析,改善構(gòu)想以及其它經(jīng)驗(yàn)教訓(xùn);對(duì)實(shí)驗(yà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.十進(jìn)制轉(zhuǎn)二進(jìn)制※\n");printf("※2.十進(jìn)制轉(zhuǎn)八進(jìn)制※\n");printf("※3.十進(jìn)制轉(zhuǎn)十六進(jìn)制※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("--------------------------------------------------\n");printf("請(qǐng)選擇所要進(jìn)行的操作:");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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園上下學(xué)安全
- 康復(fù)護(hù)理論文答辯
- 文明食堂創(chuàng)建發(fā)言材料
- 2025涉外合同中外合作出版合同
- 合同執(zhí)行風(fēng)險(xiǎn)提醒通知函
- 2025農(nóng)村住房的轉(zhuǎn)讓合同
- 2025建造合同核算講義liydg
- 2025路面工程項(xiàng)目勞務(wù)分包合同
- 2025機(jī)電設(shè)備采購合同范文
- 2025關(guān)于房屋裝修管理服務(wù)合同模板
- 小兒甲型流感護(hù)理查房
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- 寒假作業(yè)(試題)2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué) 人教版(十二)
- 銀行信息安全保密培訓(xùn)
- 市政道路工程交通疏解施工方案
- 2024年部編版初中七年級(jí)上冊(cè)歷史:部分練習(xí)題含答案
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測(cè)胃殘余量
- 上海市松江區(qū)市級(jí)名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測(cè)試題含解析
- 綜合實(shí)踐活動(dòng)教案三上
- 《新能源汽車電氣設(shè)備構(gòu)造與維修》項(xiàng)目三 新能源汽車照明與信號(hào)系統(tǒng)檢修
評(píng)論
0/150
提交評(píng)論