第六周 專案4 數制的轉換

2021-07-05 19:15:43 字數 1821 閱讀 1126

/*

*2015,煙台大學計算機控制工程學院

*檔名稱:dlinklist.cpp

*完成日期:2023年10月12日

*問題描述:把十進位制的整數轉換成二至九之間的任意進製數輸出

*問題要求:利用棧設計演算法,並實現程式

*一系列的餘數的逆序就是轉換結果。

**/

(1)建立標頭檔案

#ifndef listack_h_included

#define listack_h_included

typedef int elemtype;

typedef struct linknode

listack; //鏈棧型別定義

void initstack(listack *&s); //初始化棧

void destroystack(listack *&s); //銷毀棧

int stacklength(listack *s); //返回棧長度

bool stackempty(listack *s); //判斷棧是否為空

void push(listack *&s,elemtype e); //入棧

bool pop(listack *&s,elemtype &e); //出棧

bool gettop(listack *s,elemtype &e); //取棧頂元素

void dispstack(listack *s); //輸出棧中元素

#endif // listack_h_included

(2)建立原始檔

#include #include #include "listack.h"

void initstack(listack *&s) //初始化棧

void destroystack(listack *&s) //銷毀棧

free(s); //s指向尾結點,釋放其空間

}int stacklength(listack *s) //返回棧長度

return(i);

}bool stackempty(listack *s) //判斷棧是否為空

void push(listack *&s,elemtype e) //入棧

bool pop(listack *&s,elemtype &e) //出棧

bool gettop(listack *s,elemtype &e) //取棧頂元素

void dispstack(listack *s) //輸出棧中元素

printf("\n");

}

(3)實現main函式

#include #include "listack.h"

/*int main()

printf("\n");

printf("(8)鏈棧為%s\n",(stackempty(s)?"空":"非空"));

printf("(9)釋放鏈棧\n");

destroystack(s);

return 0;

}*/void multibaseoutput (int number,int base)

while(!stackempty(s)) //棧非空時退棧輸出

}int main()

(4)執行結果

第六周專案4數制轉換

檔名稱 第六周專案4.cpp 作 者 彭子竹 完成日期 2015年10月23日 版 本 號 v1.0 問題描述 把十進位制的整數轉換為二至九之間的任一進製數輸出。請利用棧設計演算法,並實現程式。輸入描述 數字與進製 程式輸出 輸出轉換結果 main函式 include sqstack.h void ...

第六周專案4 數制轉換

檔名稱 idea.cpp 完成日期 2015年11月20日 define maxsize 100 typedef int elemtype typedef struct sqstack 順序棧型別定義 void initstack sqstack s 初始化棧 void destroystack s...

第六周專案4 數制轉換

問題及 煙台大學計控學院 作 者 郗傳秀 完成日期 2016年9月29日 問題描述 專案 數制轉換 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。1 sqstack.h cpp view plain copy ifndef sqstack h included define ...