版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)?zāi)康慕?shí)現(xiàn)十進(jìn)制轉(zhuǎn)八進(jìn)制實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行。建立棧實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)八進(jìn)制1. 編寫(xiě)程序/十進(jìn)制轉(zhuǎn)八進(jìn)制#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct int *base;int *top;int stacksize;sqstack;int initstack (sqstack *s)s->base=(int *)malloc(STACK_INIT_S
2、IZE * sizeof(int);if(!s->base)exit(0);s->top=s->base;s->stacksize =STACK_INIT_SIZE ;return 0;/構(gòu)造一個(gè)空棧sint push(sqstack *s,int e) if(s->top-s->base)>=s->stacksize)s->base=(int*)realloc(s->base,(s->stacksize + STACKINCREMENT )*sizeof(int);if(!(s->base) exit(1);s->
3、top=s->base+s->stacksize;s->stacksize+=STACKINCREMENT;*s->top+=e;return 0;/插入新的元素e為新的棧頂元素int stackempty (sqstack *s)if(s->top=s->base)return 1;else return 0;/若棧s為空棧,則返回1,否則返回0int pop (sqstack *s,int *e)if(s->top=s->base)return 1;*e=*-s->top;return 0;/若棧不為空,則刪除s的棧頂元素,用e返回其值
4、,返回OK,否則返回ERRORvoid conversion (int n) sqstack s;int e;initstack(&s);printf("請(qǐng)輸入一個(gè)十進(jìn)制數(shù):n");scanf("%d",&n);while (n)push(&s,n%8);n=n/8;printf("n");printf("該數(shù)的八進(jìn)制數(shù)為:n");while(!stackempty(&s)pop(&s,&e);printf("%d",e);printf("
5、;n");/對(duì)于輸入的任意一個(gè)非負(fù)十進(jìn)制整數(shù),打印出與其等值的八進(jìn)制數(shù)int main()int n;/sqstack *s;/initstack(s);conversion (n);return 0;/主函數(shù)運(yùn)行程序:程序解析:1.首先是將程序的開(kāi)頭寫(xiě)好,要有#include<stdlib.h>,然后定義 STACK_INIT_SIZE 為100 ,STACKINCREMENT為 10。定義棧頂和棧底都為int型,并且stacksize為int型。2. 構(gòu)建一個(gè)空棧。建立一個(gè)空棧,但建立不成功是就強(qiáng)制退出,建立成功時(shí)就使棧頂和棧頂指向同一個(gè)點(diǎn),并且分配預(yù)定長(zhǎng)度的節(jié)給stacksize。3.插入新的元素e為新的棧頂元素插入一個(gè)新的元素到棧里,如果長(zhǎng)度超過(guò)棧的長(zhǎng)度,則重新分配新的空間給sqstack。如果棧底部存在則發(fā)生錯(cuò)誤,意外退出。然后讓e插入成為新的棧頂元素。4. 判斷棧是否為空棧。該函數(shù)用stackempty表示,如果棧頂?shù)扔跅5?,則棧為空棧,返回1,否則返回0.5. 取出棧頂元素若棧為空,則返回1,若棧不為空,則讓e指向s的棧頂元素,刪除s的棧頂元素,用e返回其值。6.建立conversion函數(shù)定義一個(gè)空棧s,然后scanf輸入一個(gè)數(shù),當(dāng)該數(shù)不為0時(shí),就執(zhí)行push函數(shù)和n=n/8,如果n=0則跳出循環(huán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 救援工作中的無(wú)人機(jī)應(yīng)急通信和數(shù)據(jù)傳輸解決方案研究
- DB3212-T 2092-2024 養(yǎng)心菜栽培技術(shù)規(guī)程
- 2024年秋一年級(jí)上冊(cè)6 j q x 第一課時(shí) 公開(kāi)課一等獎(jiǎng)創(chuàng)新教案
- 2 樹(shù)之歌-公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)(表格式)
- 七年級(jí)上冊(cè) 第五單元 任務(wù)二《 親近動(dòng)物豐富生命體驗(yàn)》(共18張)+學(xué)案(含答案)+公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 救護(hù)車(chē)搶救藥品配備標(biāo)準(zhǔn)
- 2024年反洗錢(qián)知識(shí)競(jìng)賽參考題庫(kù)400題(含答案)
- 藝術(shù)培訓(xùn)中心裝修協(xié)議
- 購(gòu)物中心石材裝修合同范本
- 網(wǎng)球場(chǎng)木地板安裝合同
- 2024浙江省知識(shí)產(chǎn)權(quán)保護(hù)中心公開(kāi)招聘14人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024人教版初中九年級(jí)數(shù)學(xué)上冊(cè)第二十一章一元二次方程大單元整體教學(xué)設(shè)計(jì)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫(kù)及答案
- 2024-2030年中國(guó)全地形車(chē)(沙灘車(chē))行業(yè)發(fā)展現(xiàn)狀調(diào)研及市場(chǎng)趨勢(shì)洞察報(bào)告
- 緬懷先烈志共鑄中華魂-9.30中國(guó)烈士紀(jì)念日主題教育
- SLT824-2024 水利工程建設(shè)項(xiàng)目文件收集與歸檔規(guī)范
- 2024年公務(wù)員遴選考試復(fù)習(xí)題庫(kù)及答案
- 新質(zhì)生產(chǎn)力在產(chǎn)業(yè)融合中的作用及其影響研究
- 2023-2024學(xué)年北京市東城區(qū)廣渠門(mén)中學(xué)八年級(jí)(上)期中數(shù)學(xué)試卷【含解析】
- 高中生物學(xué)選擇性必修一測(cè)試卷及答案解析
- 新大象版六年級(jí)上冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)(超全)
評(píng)論
0/150
提交評(píng)論