数据结构实验报告栈进制转换.docx
数据结构试验报告栈的应用进制转换程序姓名班级学号算法步骤1定义栈与建立空栈TYPEDEFSTRUCT{INTBASEINTTOPINTSTACKSIZE}STACKINTINITSTACKSTACKS{SBASEINTMALLOCSTACK_INIT_SIZESIZEOFINTIFSBASE{EXITOVERFLOW}STOPSBASESSTACKSIZESTACK_INIT_SIZERETURNOK}2入栈程序INTPUSHSTACKS,INTE{IFSTOPSBASESTACK_INIT_SIZE{SBASEINTREALLOCSBASE,SSTACKSIZESTACKINCREMENTSIZEOFINTIFSBASE{EXITOVERFLOW}STOPSBASESTACKINCREMENT}STOPERETURNOK}3出栈程序INTPOPSTACKS,INTE{IFSTOPSBASE{RETURNERROR}ESTOPRETURNOK}4主函数与进制转化VOIDMAIN{INTNINTAINTESTACKSINITSTACKPOPPUSHINITSTACKPRINTF“请输入十进制数“SCANF“D“,PRINTF“要将N转化为几进制“SCANF“D“,WHILEN{ENAPUSHNN/A}WHILESBASESTOP{POPPRINTF“D“,E}FREESBASESYSTEM“PAUSE“}3源程序INCLUDEINCLUDEINCLUDEDEFINESTACK_INIT_SIZE100DEFINESTACKINCREMENT10DEFINEOK1DEFINEERROR0DEFINEOVERFLOW1DEFINETRUE1DEFINEFALSE1TYPEDEFSTRUCT{INTBASEINTTOPINTSTACKSIZE}STACKINTINITSTACKSTACKS{SBASEINTMALLOCSTACK_INIT_SIZESIZEOFINTIFSBASE{EXITOVERFLOW}STOPSBASESSTACKSIZESTACK_INIT_SIZERETURNOK}INTPUSHSTACKS,INTE{IFSTOPSBASESTACK_INIT_SIZE{SBASEINTREALLOCSBASE,SSTACKSIZESTACKINCREMENTSIZEOFINTIFSBASE{EXITOVERFLOW}STOPSBASESTACKINCREMENT}STOPERETURNOK}INTPOPSTACKS,INTE{IFSTOPSBASE{RETURNERROR}ESTOPRETURNOK}VOIDMAIN{INTNINTAINTESTACKSINITSTACKPOPPUSHINITSTACKPRINTF“请输入十进制数“SCANF“D“,PRINTF“要将N转化为几进制“SCANF“D“,WHILEN{ENAPUSHNN/A}WHILESBASESTOP{POPPRINTF“D“,E}FREESBASESYSTEM“PAUSE“}调试与体会1调试结果2体会这次数据结构作业我选择了做进制转换,首先我觉得这个比较有实际意义,其次我觉得做迷宫比较难。这次主要是学习如何用栈,栈自动分配变量,以及函数调用时所使用的一些空间。通过编写这次程序,提高了对栈的理解,自我查找与学习交流能力,这次编写程序,自己通过结合课本知识编写了出来。但是这次暴露出自己函数调用还是有一些问题的,通过同学的帮忙解决了很小但很严重的一个问题。这次,我对数据结构和C语言也有了更多地理解。