您的当前位置:首页数值转换

数值转换

2021-05-21 来源:乌哈旅游
#include #include

#define INIT_LONG 50 //栈的初始长度 #define CHANGE_LONG 10 //栈长度的增量

//堆栈的结构体。栈底,栈顶指针和栈的初始长度。 typedef struct Stock {

int *base;//栈中的指针。 int *top; int Stock_size; }SqStock;

//建立一个堆栈。

void InitStock(SqStock & L) {

L.base=(int*)malloc(sizeof(int)*INIT_LONG); if(L.base) {

L.top=L.base;

L.Stock_size=INIT_LONG; } else

printf(\"堆栈建立失败!\\n\"); }

//进栈操作。

void Push(SqStock &L,int e) {

if(L.top-L.base>=L.Stock_size) {

L.base=(int*)realloc(L.base,(L.Stock_size+CHANGE_LONG)*sizeof(int)); if(L.base) {

L.top=L.Stock_size+L.base; L.Stock_size+=CHANGE_LONG; } else

printf(\"重新开辟失败!\\n\"); return; } }

*L.top= e; L.top++; return; }

{

//出栈操作

void Pop(SqStock &L,int &e) {

if(L.base==L.top) {

printf(\"栈为空!\\n\"); return; } L.top--; e=*L.top; printf(\"%-4d\return; }

//数值转换。

void conversion(SqStock &S) {

int N; int Deep;

printf(\"输入要转换的值:\\n\"); scanf(\"%d\printf(\"输入基数:\\n\"); scanf(\"%d\while(N!=0)

}

{ }

Push(S,N%Deep); N=N/Deep;

void main() { }

int e; SqStock S; InitStock(S); conversion(S);

printf(\"输出转换后的数:\\n\");//输入十进制数 while(S.top!=S.base) { }

printf(\"\\n\");

Pop(S,e);

因篇幅问题不能全部显示,请点此查看更多更全内容