欢迎来到天天文库
浏览记录
ID:29868595
大小:402.68 KB
页数:33页
时间:2018-12-24
《[计算机软件及应用]数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、编号:江西理工大学数据结构课程设计报告班级:网络112班学号:09姓名:李秀光时间:2012年12月31日~2012年1月11日指导教师:涂燕琼井福荣2013年01月30目录第一章数制转换1一、需求分析11、输入的形式和输入值的范围12、输出的形式13、程序所能达到的功能14、测试数据1二、概要设计21、抽象数据类型的定义22、主程序的流程以及各程序模块之间的层次调用关系2三、详细设计21、数据类型22、伪码算法33、流程图54、调试分析65、用户使用说明66、测试结果77、附录8第二章一元多项式11一、需求分析111、输入的形式和输入值的范围112、输出的形式113、程序所能达到的功能11
2、4、测试数据12二、概要设计121、抽象数据类型的定义122、主程序的流程以及各程序模块之间的层次调用关系13三、详细设计13301、数据类型132、伪码算法143、流程图174、调试分析185、用户使用说明186、测试结果197、附录2030第一章数制转换一、需求分析1、输入的形式和输入值的范围n和f的输入形式均为int型,n和f的输入范围均为1~327672、输出的形式十六进制10-15输出A-E,超过十六进制时按16以上数值按原值输出。3、程序所能达到的功能把十进制数n转换成任意进制数f(对于输入的任意一个非负十进制整数,输出与其等值的任意进制数(如二,四,八,十六进制)。4、测试数据
3、n(十进制)f(进制)输出值22210110354411202537681240032767167FFF30二、概要设计1、抽象数据类型的定义ADTStack{基本操作:InitStack(&S)操作结果:构造一个空栈s。Push(&S,e)初始条件:栈s已存在。操作结果:插入元素e为新的栈顶元素。Pop(SqStack&S)初始操作:栈s已存在且非空。操作结果:删除s的栈顶元素,并用e返回其值。StackEmpty(SqStackS)初始条件:栈s已存在。操作结果:若栈为空则返回1,否则返回0。}ADTStack2、主程序的流程以及各程序模块之间的层次调用关系见(三、详细设计3、流程图)↓
4、三、详细设计1、数据类型//=====ADTStack的表示与实现=====////-----数制转换-----//#defineSTACK_INIT_SIZE100//存储空间初始分配量#defineSTACKINCREMENT10//存储空间分配增量30typedefstruct{int*base;int*top;intstacksize;}SqStack;//-----基本操作的函数原型说明-----//voidInitStack(SqStack&S)//构造一个空栈svoidPush(SqStack&S,inte)//插入e为新的栈顶元素intPop(SqStack&S)//删除s的
5、栈顶元素,并用e返回其值intStackEmpty(SqStackS)//若栈为空则返回1,否则返回0voidconversion(intn,intf)//对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数2、伪码算法//-----基本操作的算法描述-----//voidInitStack(SqStack&S){//构造一个空栈sS.base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!S.base)exit(-2);S.top=S.base;S.stacksize=STACK_INIT_SIZE;}//InitStackvoidPu
6、sh(SqStack&S,inte){//插入元素e为新的栈顶元素if(S.top-S.base>=S.stacksize){S.base=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));30if(!S.base)exit(-2);S.top=S.base+S.stacksize;S.stacksize+=STACKINCREMENT;}*S.top++=e;}//PushintPop(SqStack&S){//删除s的栈顶元素,并用e返回其值inte;if(S.top==S.base)return0;e=*--S
7、.top;returne;}//PopintStackEmpty(SqStackS){//若栈为空则返回1,否则返回0if(S.top==S.base)return1;elsereturn0;}//StackEmpty//对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数voidconversion(intn,intf){InitStack(S);while(n){Push(S,n%f);n=n/f
此文档下载收益归作者所有