第五周專案4 數制轉換

2021-07-23 11:42:21 字數 1748 閱讀 6459

問題及**:

/*  

* 檔名稱:

* 作 者:孫子晴

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

* 版 本 號:v1.0

* * 問題描述: 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。

這裡的「逆序」,意味著後產生的餘數,會先輸出,後進先出,棧的機會來了……

* 輸入描述:a,b

* 程式輸出:相應進製數

*/

listack.h:

#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

listack.cpp:

#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");

}

main.cpp:

#include #include "listack.h"

void multibaseoutput (int number,int base)

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

}int main()

執行結果:

學習心得:

鞏固了棧的基本操作。

第五周 專案4 數制轉換

檔名稱 數制轉換.cpp 作 者 林穎 完成日期 2016年9月25日 問題描述 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。輸入描述 若干資料。程式輸出 各個步驟的文字敘述及其資料的輸出。shu.h的部分 define maxsize 100 typedef char e...

第五周專案4 數制轉換

問題及 檔名稱 專案4.cpp 作 者 陳迪 完成日期 2016年9月27日 版 本 號 v1.0 問題描述 把十進位制的整數轉換為二至九之間的任一進製數輸出。請利用棧設計演算法,並實現程式。輸入描述 數字與進製 程式輸出 輸出轉換結果 利用順序棧演算法庫,標頭檔案sqstack.h以及函式實現詳見...

第五周 專案4 數制轉換

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