建立栈实现十进制转八进制 实验报告.docx
《建立栈实现十进制转八进制 实验报告.docx》由会员分享,可在线阅读,更多相关《建立栈实现十进制转八进制 实验报告.docx(9页珍藏版)》请在第壹文秘上搜索。
1、实验目的建立栈实现十进制转八进制实验内容编程序并上机调试运行。建立栈实现十进制转八进制1,编写程序十进制转八进制#includeinclude#include#defineSTACK_INIT_SIZE100defineSTACKINCREMENT10typedefstructint*base;int*top;intstacksize;sqstack;intinitstack(sqstack*s)s-base=(int*)manoc(STACKNIT_SIZE*sizeof(int);if(!s-base)exit(0);s-top=s-base;s-stacksize=STACKJNIT_S
2、IZE;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(l);s-top=s-base+s-stacksize;s-stacksize+=STACKINCREMENT;)*s-top+=e;returnO;插入新的元素e为新的栈顶元素intStackempty(sqstack*s)if(s-top=s-base)return1;elser
3、eturn0;若栈S为空栈,则返回1,否则返回0intpop(sqstack*s,int*e)if(s-top=s-base)return1;*e=*s-top;return0;若栈不为空,则删除S的栈顶元素,用e返回其值,返回OK,否则返回ERRORvoidconversion(intn)sqstacks;inte;initstack(&s);Printf(请输入一个十进制数:n);scanf(%d11);while(n)push(&s,n%8);n=n8;)printf(nu);Printf(该数的八进制数为:nu);while(!stackempty(&s)pop(&s,&e);prin
4、tf(,%d,e);)printf(nu);对于输入的任意一个非负十进制整数,打印出与其等值的八进制数intmain()intn;/sqstack*s;/initstack(s);conversion(n);return0;主函数运行程序:程序解析:1.首先是将程序的开头写好,要有#includevstdlib.h,然后定义STACKJNIT_SIZE为100,STACKINCREMENT为10。十进制转八进制ttincludettincludeltincldeUdeFineSTfiCK_INIT_SIZE100HdeFineSTACkTncREMENT10/UdeFine /Udefine
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建立栈实现十进制转八进制 实验报告 建立 实现 十进制 八进制 实验 报告