欢迎来到天天文库
浏览记录
ID:48206402
大小:28.00 KB
页数:2页
时间:2019-11-16
《用栈实现把十进制转化为八进制.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#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(-1);s.top=s.base;s.stacksi
2、ze=STACK_INIT_SIZE;return1;}intPop(sqstack&s,int&e){if(s.top==s.base)return0;e=*--s.top;return1;}intPush(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.ba
3、se+s.stacksize;s.stacksize+=STACKINCREMENT;}*s.top++=e;return1;}intStackEmpty(sqstacks){if(s.top==s.base)return0;elsereturn1;}voidConversion(){intn,e;sqstacks;InitStack(s);printf("请输入一个十进制数:");scanf("%d",&n);while(n){Push(s,n%8);n=n/8;}while(!StackEmp
4、ty(s)){Pop(s,e);printf("%d",e);}}voidmain(){printf("此程序为把十进制数用栈转化为八进制");Conversion();}
此文档下载收益归作者所有