数制转换问题

来源:3-1 案例改造

慕慕2687381

2017-10-12 16:50

# include <stdio.h># define OK   1# define ERROR 0# define OVERFLOW -2# define MAXSIZE 10000typedef int SElemType;typedef int Status;typedef struct{    SElemType *base;    SElemType *top;    int stacksize;}SqStack;Status InitStack(SqStack &S){    S.base=new SElemType[MAXSIZE];    if(!S.base)        return OVERFLOW;    S.base=S.top;    S.stacksize=MAXSIZE;    return OK;}Status Push(SqStack &S,SElemType e){    if(S.top-S.base==S.stacksize)        return OVERFLOW;    *(S.top++)=e;    return OK;}Status Pop(SqStack &S,SElemType &e){    if(S.top==S.base)        return ERROR;    e=*(--S.top);    return OK;}Status Conversion(int n){    int i=0;    SqStack S;    InitStack(S);    while((n%8)!=0)    {        Push(S,n%8);        n=n/8;        i++;    }    for(;i>0;i--)    {        int e;        Pop(S,e);        printf("%d",e);    }    return OK;}int main(){    int n;    scanf("%d",&n);    Conversion(n);    return 0;}

写回答 关注

1回答

  • 后苍
    2017-10-18 22:07:40

    ......你这是干嘛?看得我头皮发麻。。。

数据结构探险—栈篇

栈,先入后出(FILO),带领大家体会栈这种数据结构的美妙

62724 学习 · 102 问题

查看课程

相似问题