第5周專案4 數制轉換

2021-07-23 08:05:36 字數 1779 閱讀 8040

問題及**:

/*

* 檔名稱:

* 作 者:路亞麗

* 完成日期:2023年 9月 29日

* 版 本 號: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()

執行結果:

知識點總結:

鏈棧的基本操作和應用

學習心得:

鞏固了棧的基本操作。但是具體應用使編寫**有困難。

第5周專案4 數制轉換

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

第5周專案4 數制轉換

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

第5周 專案4 數制轉換

檔名稱 graph.cpp 作 者 隋溢凡 完成日期 2016年10月29號 版 本 號 v1.0 問題描述 把十進位制的整數轉換為二至九之間的任一進製數輸出。請利用棧設計演算法,並實現程式。注 為實現本專案藶能,請將sqstack.h中的elemtype由char改為int,即 typedef c...