10to8.cpp

来自「10进制与2进制之间的转换」· C++ 代码 · 共 50 行

CPP
50
字号
#include <stdio.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct{
	SElemType *base;
	SElemType *top;
	int stacksize;
}SqStack;
Status InitStack(SqStack &S){
	S.base=(SElemType *) malloc(STACK_INIT_SIZE * sizeof(SElemType));
	if(!S.base) exit (OVERFLOW);
	S.top=S.base;
	S.stacksize=STACK_INIT_SIZE;
	return OK;
}//InitStack
Status GetTop(SqStack S,SElemType &e){
	if(S.top==S.base) return ERROR;
	e=*(S.top-1);
	return OK;
}//GetTop
Status Push(SqStack &s,SElemType e){
	if(S.top-S.base>=S.tacksize){
		S.base=(SElemType*)relloc(S.base,(Sstacksize+STACKINCREMEN)*sizeof(SElemType));
		if(!S.base) exit (OVERFLOW);
		S.top=S.base+S.stacksize;
		S.stacksize+=STACKINCREMENT;
	}
	*S.top++=e;
	return OK;
}
//Push
Status Pop(SqStack &S,SElemType &e){
	if(S.top==S.base) return ERROR;
	e=*--S.top;
	return OK;
}//Top
void main()
void conversion(){
	InitStack(S);
	scanf("%d",N);
	while(N){
		Push(S,N%8);
		N=N/8;
	}
	while(!StackEmpty(S)){
		Pop(S,e);
		printf("%d",e);

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?