



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.實驗目的建立棧實現(xiàn)十進制轉八進制實驗容編程序并上機調試運行。建立棧實現(xiàn)十進制轉八進制1. 編寫程序/ 十進制轉八進制#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
2、_SIZE * sizeof(int);if(!s->base)exit(0);s->top=s->base;s->stacksize =STACK_INIT_SIZE ;return 0;/ 構造一個空棧 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、gt;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;/ 若棧不為空,則刪除
4、s 的棧頂元素,用 e 返回其值,返回 OK,否則返回ERROR.void conversion (int n) sqstack s; int e;initstack(&s);printf(" 請輸入一個十進制數(shù): n"); scanf("%d",&n);while (n) push(&s,n%8); n=n/8;printf("n");printf("該數(shù)的八進制數(shù)為: n");while(!stackempty(&s)pop(&s,&e);printf("
5、;%d",e);printf("n");/ 對于輸入的任意一個非負十進制整數(shù),打印出與其等值的八進制數(shù).int main()int n;/sqstack *s;/ initstack(s); conversion (n);return 0;/ 主函數(shù)運行程序:.程序解析:1. 首先是將程序的開頭寫好,要有 #include<stdlib.h> ,然后定義STACK_INIT_SIZE 為 100 ,STACKINCREMENT為10 。定義棧頂和棧底都為int型,并且 stacksize為 int型。2. 構建一個空棧。建立一個空棧, 但建立不成功是就
6、強制退出, 建立成功時就使棧頂和棧頂指向同一個點,并且分配預定長度的節(jié)給stacksize 。3. 插入新的元素 e 為新的棧頂元素.插入一個新的元素到棧里,如果長度超過棧的長度,則重新分配新的空間給sqstack 。如果棧底部存在則發(fā)生錯誤,意外退出。然后讓e 插入成為新的棧頂元素。4. 判斷棧是否為空棧。該函數(shù)用 stackempty 表示,如果棧頂?shù)扔跅5祝瑒t棧為空棧,返回1,否則返回 0.5. 取出棧頂元素若棧為空,則返回1,若棧不為空,則讓e 指向 s 的棧頂元素,刪除s 的棧頂元素,用 e 返回其值。.6. 建立 conversion函數(shù)定義一個空棧 s,然后 scanf 輸入一個數(shù),當該數(shù)不為0 時,就執(zhí)行 push函數(shù)和 n=n/8 ,如果 n=0 則跳出循環(huán)。 然后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚前財產(chǎn)債務不動產(chǎn)約定協(xié)議
- 2025型鋼便橋租賃合同
- 2025供暖設備及配件供貨合同
- 2025集體土地使用權合同
- 公司合作解散協(xié)議書
- 不給補繳社保協(xié)議書
- 2025年03月國家應急管理部化學品登記中心擬聘人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 宮斗片項目風險分析和評估報告
- 鎮(zhèn)江市高等專科學?!洞髷?shù)據(jù)庫》2023-2024學年第二學期期末試卷
- 新疆大學《食品發(fā)酵與釀造工藝學實驗》2023-2024學年第二學期期末試卷
- 安全生產(chǎn)教育培訓制度管理辦法
- 抽油井檢泵作業(yè)課件
- 2022年06月2022年廣東肇慶廣寧縣司法局招考聘用政府雇員名師點撥卷V答案詳解版(3套版)
- 《HSK標準教程3》第5課課件
- HSK標準教程4上第1課課件
- 民俗學概論 第一章 概述課件
- 養(yǎng)老機構行政值班查房記錄表格
- 干粉滅火器點檢記錄表(樣表)
- 伍光和自然地理學4版知識點總結課后答案
- 110kv變電站電氣主接線設計資料全
- 華中科技大學版五年級信息技術教案
評論
0/150
提交評論