数据结构-任意长整数加法_第1页
数据结构-任意长整数加法_第2页
数据结构-任意长整数加法_第3页
数据结构-任意长整数加法_第4页
数据结构-任意长整数加法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告题目:任意长整数加法学期:2017春班号:学号:代号姓名:代号成绩:哈尔滨华德学院电子与信息工程学院年月日课程设计的目的与要求课程设计目的1.通过课程设计,加深对《数据结构》课程所学知识的理解,熟练掌握和固数据结构的基本知识和语法规范。通过课程设计,巩固和加深对线性表、栈、队列、字符串、查找、排序等理论知识的理解;提高利用计算机分析解决综合性实际问题的基本能力。包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构)。2.库函数应用数据结构与算法课程设计是综合运用课程中学到的几种典型数据结构、常用算法以及程序设计语言,自行实现一个较为完整的应用系统。3.学会将理论知识应用于实践的方法,提高分析和解决问题的能力,提高综合能力。(二)题目与要求题目:任意长整数加法要求:1.WindowsDOS窗口提示用户输入两个为无限长的整数,当用户有非法输入符时给出用户提示并重新输入整数,然后输出两个整数的和,输出形式按照中国人的习惯,每四位一组,组间用逗号隔开。2.整形变量范围是-(215-1)~(215-1),读取数据后利用ASCII码的方式转换数据,采用单链表结构方式实现长整数的存储。3.基于CodeBlocks软件建立工程并用C++语言编译。4:测试数据为:(1)输入:“0”;“0”应输出:“0”。(2)输入:“234”;“123”应输出:“357”。(3)输入:“345”;“345”应输出:“690”。(4)输入:“19”;“25”应输出:“44”。(5)输入:“123456789”;“123456789”应输出:“2,4691.3578。(6)输入:“7777778888888888”;“999999999999999”应输出:“8777,7788,8888,8887”。(7)输入:“4545454545454545”;“78787878787878787878”应输出:“7879,2424,2424,2424,2423”。二、实践环境配置1.硬件配置while(1){

链表创建;用户输入数字;数据存储;数据处理;输出结果;}

}

2)集合单元模块——实现集合的抽象数据类型。3)结点结构单元模块——定义集合的结点结构。函数主要功能的代码如下: 函数:Node*creat(Node*head) 功能:创建单链表。 函数:Node*insert(Node*head) 功能:试读取数据,采用头插法和ASCII码技术。将字符转换为与字 符相同的数字。 函数:voidAdd(Node*headone,Node*headtwo,Node*headthree) 功能:释放内存空间。 函数:voiddestroy(Node*head) 功能:求出两个无限长整数的求和。主函数深度解析:/*主函数*/voidmain(){ Node*creat(Node*head);/*声明创建单链表的函数*/ Node*insert(Node*head);/*声明读取数据函数*/ voidAdd(Node*headone,Node*headtwo,Node*headthree);/*声明相加函数*/ voidprint(Node*head);/*声明输出函数*/ voiddestroy(Node*head);/*声明释放内存空间函数*/ Node*headone;/*被加数的头结点*/ Node*headtwo;/*加数的头结点*/ Node*headthree;/*和的头结点*/ while(1) { headone=creat(headone);/*创建单链表,用于储存被加数*/ headtwo=creat(headtwo);/*创建单链表,用于储存加数*/ headthree=creat(headthree);/*创建单链表,用于储存和*/ printf("输入被加数A:"); headone=insert(headone);/*读被加数*/ if(headone!=NULL) { printf("输入被数B:"); headtwo=insert(headtwo);/*读取加数*/ } if(headone!=NULL&&headtwo!=NULL) { Add(headone,headtwo,headthree);/*求和*/ print(headthree);/*输出和*/ destroy(headthree);/*释放内存空间*/ } printf("\n\n\n"); }}4.系统测试 由CodeBlock编写datalist.cpp文件,用编译器编译出datalist.o文件,最后连接成可执行文件datalist.exe,如图4-1所示。运行可执行文件datalist.exe出现DOS界面,根据上文预定测试数据进行测试,查看结果的正确性,效果如图4-2所示。图4-1编译文件图4-2测试程序四、小组成员分工说明独立完成。五、总结1.算法改进设想:(1)在算法效率上,将单链表该为双向循环列表,(2)在功能设置上,编写出简易GUI,在界面中设置相关操作选项。2.课程设计期间的主要收获:理论转化到实际应用,看似简单,实际操作却有各

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论