实验目的建立栈实现十进制转八进制实验内容编程序并上机调试运行
建立栈实现十进制转八进制1
编写程序//十进制转八进制#include#include#include#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10typedefstruct{int*base;int*top;intstacksize;}sqstack;intinitstack(sqstack*s){s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(
s->base)exit(0);s->top=s->base;s->stacksize=STACK_INIT_SIZE;return0;}//构造一个空栈sintpush(sqstack*s,inte){if((s->top-s->base)>=s->stacksize){s->base=(int*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));if(
(s->base))exit(1);s->top=s->base+s->stacksize;s->stacksize+=STACKINCREMENT;}*s->top++=e;return0;}//插入新的元素e为新的栈顶元素intstackempty(sqstack*s){if(s->top==s->base)return1;elsereturn0;}//若栈s为空栈,则返回1,否则返回0intpop(sqstack*s,int*e){if(s->top==s->base)return1;*e=*--s->top;return0;}//若栈不为空,则删除s的栈顶元素,用e返回其值,返回OK,否则返回ERRORvoidconversion(i