資料結構 堆疊應用 數制轉換

2021-09-12 07:49:13 字數 2437 閱讀 6342

當把餘數全部進棧後,如何獲得最後的進製數

方法1:直接乙個乙個輸出

void showdata(seqstack s)

printf("\n");

}//上乙個出現乙個小問題,輸出時應該從上往下輸 

void showdata(seqstack s)

printf("\n");

}static char *characters = "0123456789abcdef";

//上乙個出現乙個小問題:16進製制時餘數要用abcdef表示 

void showdata(seqstack s)

printf("\n");

}方法2:

void showdata(seqstack s)

printf("\n");}

數制轉換核心**

void convertnumber(datatype n, int d)

printf("原數為:%d,%d進製數為:", n, d);

showdata(*s);

destroystack(&s);

}

/*

123二進位制:1111011

八進位制:173

十六進製制:7b

*/ #include#includetypedef unsigned char boolean;

#define true 1

#define false 0

typedef int datatype;

#define maxsize 100

typedef structseqstack;

static char *characters = "0123456789abcdef";

boolean initstack(seqstack **s);

void destroystack(seqstack **s);

boolean push(seqstack *s, datatype x);

boolean isstackfull(seqstack s);

boolean isstackempty(seqstack *stack);

boolean gettop(seqstack *stack, datatype *x);

boolean pop(seqstack *stack, datatype *x);

void showdata(seqstack s);

void convertnumber(datatype n, int d);

void convertnumber(datatype n, int d)

printf("原數為:%d,%d進製數為:", n, d);

showdata(*s);

destroystack(&s);}/*

void showdata(seqstack s)

printf("\n");}*/

/*//上乙個出現乙個小問題,輸出時應該從上往下輸

void showdata(seqstack s)

printf("\n");}*/

/*void showdata(seqstack s)

printf("\n");}*/

//實驗書上的思想

void showdata(seqstack s)

printf("\n");

}boolean pop(seqstack *stack, datatype *x)

*x = stack->data[stack->top--];

return true;

} boolean gettop(seqstack *stack, datatype *x)

*x = stack->data[stack->top];

return true;

} boolean isstackempty(seqstack *stack)

boolean isstackfull(seqstack s)

boolean push(seqstack *s, datatype x)

s->data[++s->top] = x;

return true;

}void destroystack(seqstack **s)

boolean initstack(seqstack **s)

*s = (seqstack *)malloc(sizeof(seqstack));

(*s)->data = (datatype *)malloc(sizeof(datatype) * maxsize);

(*s)->maxsize = maxsize;

(*s)->top = -1;

return false;

}void main(void)

數制轉換各種實現 資料結構

2009 11 14 14 39 stack應用 include stdio.h include malloc.h define maxsize 100 typedef int datatype typedef struct node seqstack,pseqstack pseqstack ini...

資料結構實踐 數制轉換 棧

本文是針對資料結構基礎系列網路課程 3 棧和佇列的實現專案。專案 數制轉換 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。參考解答 解法 標頭檔案sqstack.h請見 順序棧演算法庫 使用鏈棧也可以。include include sqstack.h void multib...

資料結構實踐 數制轉換 棧

專案 數制轉換 把十進位制的整數轉換為任一進製數輸出。請利用棧設計演算法,並實現程式。提示 要轉換為r進製,則原來的數逐次除以基數r 除完之後用商再除 直到商為0,得到的一系列餘數的逆序就是轉換結果。這裡的 逆序 意味著後產生的餘數,會先輸出,後進先出,棧的機會來了 參考解答 解法 標頭檔案sqst...