順序棧實現進製轉換

2022-09-18 11:00:29 字數 627 閱讀 5485

1.定義乙個順序棧的結構體。

typedef struct

sqstack;

2.寫乙個建立空順序棧的函式

status init_stack(sqstack &s)

3.寫乙個輸出順序棧元素的函式

status exit_stack(sqstack s)

printf("\n

");}

4.這裡進製轉換的方法就是,先把k進製的元素轉化為10進製,在由10進製轉化為i進製輸出出來。這裡採用棧,把餘數依次壓棧,最後順序彈出就可以得到i進製的值。

void conversion(int k,int

i) printf(

"轉化為十進位制為:%d\n

",j);

while

(j)

inte;

printf(

"轉化為%d進製的數為:

",i);

while(!(empty_stack(l)))

else

printf("%c

",'a

'+e-10

); }

}

棧 利用棧實現進製轉換

利用棧的資料結構特點,將二進位制轉換為十進位制數。二進位制數是計算機資料的儲存形式,它是由一串0和1組成的,每個二進位制數轉換成相應的十進位制數方法如下 xnxn 1 x3x2x1 2 x1 2 0 x2 2 1 xn 2 n 1 乙個二進位制數要轉換為相應的十進位制數,就是從最低位起用每一位去乘以...

用棧實現進製轉換

在本例中,用棧實現二進位製到十進位制的轉換,其他進製轉換類似 本例使用的棧的結構如下 如下 include include using namespace std typedef struct node node,pnode 棧中每個元素都是節點,這裡定義節點 typedef struct stac...

順序棧實現數制轉換

include include define stacksize 100 假定預分配的棧空間最多為100個元素 typedef int datatype 應將順序棧的datatype定義改為整型 typedef struct seqstack void main void initstack seq...