數制轉換問題
# 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;}
2017-10-18
......你這是干嘛?看得我頭皮發(fā)麻。。。