所需知識:棧
#include
#include
using namespace std;
#include
#include
typedef
int status;
#define ok 1
#define error 0
#define true 1
#define false 0
// ------棧的順序儲存結構表示----------
#define stack_init_size 100
// 儲存空間初始分配量
#define stack_increment 10
// 儲存空間分配增量
typedef
int elemtype;
typedef
struct
sqstack;
void
initstack
(sqstack &s)
void
destroystack
(sqstack &s)
void
push
(sqstack &s, elemtype e)
*(s.top)
++= e;
}status pop
(sqstack &s, elemtype &e)
status gettop
(sqstack s, elemtype &e)
else
return error;
}status stackempty
(sqstack s)
關鍵函式**
//思路
1.將資料a每次取餘進製數,並進棧
2.對資料a進行修改,每次講a整除進製數
3.直到a<0為止
//將10進製數a轉換為n進製數
intconversion
(int a,
int n)
int e;
while
(s.top!=s.base)
return0;
}
可執行程式**#include
#include
using namespace std;
#include
#include
typedef
int status;
#define ok 1
#define error 0
#define true 1
#define false 0
// ------棧的順序儲存結構表示----------
#define stack_init_size 100
// 儲存空間初始分配量
#define stack_increment 10
// 儲存空間分配增量
typedef
int elemtype;
typedef
struct
sqstack;
void
initstack
(sqstack &s)
void
destroystack
(sqstack &s)
void
push
(sqstack &s, elemtype e)
*(s.top)
++= e;
}status pop
(sqstack &s, elemtype &e)
status gettop
(sqstack s, elemtype &e)
else
return error;
}status stackempty
(sqstack s)
//將10進製數a轉換為n進製數
intconversion
(int a,
int n)
int e;
while
(s.top!=s.base)
return0;
}int
main()
資料結構 進製轉換
將八進位制數字 423.5176 轉換成十進位制 423.5176 4 82 2 81 3 80 5 8 1 1 8 2 7 8 3 6 8 4 275.65576171875 十進位制 將十進位制轉換為二進位制 八進位制 十六進製制 整數部分和小數部分的演算法不一樣 整數部分 除 n 取餘,逆序排...
資料結構 (棧) 進製轉換
資料結構實驗之棧一 進製轉換 輸入乙個十進位製非負整數,將其轉換成對應的 r 2 r 9 進製數,並輸出。input 第一行輸入需要轉換的十進位製非負整數 第二行輸入 r。output 輸出轉換所得的 r 進製數。example input 1279 8example output 2377 c 如...
資料結構 棧 進製轉換
棧的應用,進製轉換問題 演算法很簡單,除 取餘法,用棧來把餘數存起來,再出棧即可 上 進製轉換 seqsatck,測試ok author qian jipeng date 2019 3 23 satus done include include define maxsize 10 typedef s...