問題及**:
/*
* 檔名稱:
* 作 者:路亞麗
* 完成日期: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...