資源描述:
《上海交大 數(shù)據(jù)結(jié)構(gòu) 實(shí)驗(yàn)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告說明:本軟件在win764位系統(tǒng)測(cè)試通過,需要安裝.net3.5以上版本七、數(shù)制轉(zhuǎn)換問題1.問題描述對(duì)于輸入的任意一個(gè)非負(fù)十進(jìn)制整數(shù),輸出與其等值的其他進(jìn)制數(shù)(二進(jìn)制、八進(jìn)制或十六進(jìn)制)。2.任務(wù)要求⑴建立模型,確定存儲(chǔ)結(jié)構(gòu);⑵對(duì)任意十進(jìn)制數(shù),實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換問題。3.實(shí)驗(yàn)指導(dǎo)(1)實(shí)驗(yàn)類型:設(shè)計(jì)實(shí)驗(yàn)。本實(shí)驗(yàn)要求同學(xué)們針對(duì)“數(shù)制轉(zhuǎn)換”這個(gè)經(jīng)典的問題,應(yīng)用棧的存儲(chǔ)結(jié)構(gòu),自己設(shè)計(jì)一個(gè)方案,并上機(jī)實(shí)現(xiàn)。此實(shí)驗(yàn)的目的是培養(yǎng)學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)單應(yīng)用能力。(2)預(yù)備知識(shí):棧的基本定義、棧的基本操作算
2、法、棧的存儲(chǔ)結(jié)構(gòu)。(3)實(shí)現(xiàn)方法提示:1)以十進(jìn)制轉(zhuǎn)換為八進(jìn)制為例。將十進(jìn)制數(shù)整除8,計(jì)算過程中得到的余數(shù)依次進(jìn)棧,按出棧序列輸出棧中的內(nèi)容即為與輸入的十進(jìn)制數(shù)對(duì)應(yīng)的八進(jìn)制數(shù)。設(shè)Conversion函數(shù)執(zhí)行數(shù)制轉(zhuǎn)換的操作,對(duì)(1348)10轉(zhuǎn)換為8進(jìn)制的過程如下:NNdiv8Nmod81348168416821021252022)設(shè)計(jì)數(shù)制轉(zhuǎn)換的算法。4.實(shí)現(xiàn)方案1)方案描述:本方案采用C#語言實(shí)現(xiàn),實(shí)現(xiàn)十進(jìn)制與其他進(jìn)制直接的轉(zhuǎn)換2)實(shí)現(xiàn)代碼:主要實(shí)現(xiàn)代碼如下usingSystem;usingSystem
3、.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace進(jìn)制轉(zhuǎn)換器{publicpartialclassMainFrm:Form{publicMainFrm(){InitializeComponent();}privatevoidMainFrm_Load_1(objectsender,Ev
4、entArgse){txtStart.Focus();}//////十進(jìn)制轉(zhuǎn)換為八進(jìn)制/////////privatevoidradio_dto_Click_1(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TODO:十進(jìn)制轉(zhuǎn)為八進(jìn)制。Int32i;try{i=Conver
5、t.ToInt32(txtStart.Text.Trim());lblTitle.Text="十進(jìn)制轉(zhuǎn)為八進(jìn)制";txtEnd.Text=Convert.ToString(i,8);}catch{MessageBox.Show("請(qǐng)輸入合法的十進(jìn)制數(shù)","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}else{MessageBox.Show("請(qǐng)?zhí)峁┺D(zhuǎn)換數(shù)據(jù)!","提示",MessageBoxButtons.OK,MessageBoxIcon.Wa
6、rning);}txtStart.Focus();}//////十進(jìn)制轉(zhuǎn)換為十六進(jìn)制/////////privatevoidradio_dth_Click(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TODO:十進(jìn)制轉(zhuǎn)換為十六進(jìn)制。Int32i;try{i=Convert
7、.ToInt32(txtStart.Text.Trim());lblTitle.Text="十進(jìn)制轉(zhuǎn)換為十六進(jìn)制";txtEnd.Text=Convert.ToString(i,16);}catch{MessageBox.Show("請(qǐng)輸入合法的十進(jìn)制數(shù)","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}else{MessageBox.Show("請(qǐng)?zhí)峁┺D(zhuǎn)換數(shù)據(jù)!","提示",MessageBoxButtons.OK,MessageBoxIcon.
8、Warning);}txtStart.Focus();}//////十進(jìn)制轉(zhuǎn)換為二進(jìn)制/////////privatevoidradio_dtb_Click(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TOD