- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
超长正整数加法和乘法报告书
信息工程学院
数据结构与C语言综合训练报告
(2011~2012学年第 二学期)
报告题目:____超长正整数的加法________
姓 名:______李莉_______
专 业:信息管理与信息系统
年级班级: ____112班________
指导教师:__李宏利、张晶___
完成日期:_2012年7月12日
一、综合训练目的和要求
本综合训练是计算机科学与技术、信息管理与信息系统、软件工程、电子商务专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》、《数据结构》课程后进行的一次全面的综合练习。本课综合训练的目的和任务:
1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握
2. 掌握C语言编程和程序调试的基本技能
3. 利用C语言进行基本的软件设计
4. 掌握书写程序设计说明文档的能力
5. 提高运用C语言、数据结构解决实际问题的能力
二、综合训练任务内容
利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
提高要求:
完成两个超长正整数的乘法。
三、总体设计
函数调用关系图(如下)
函数的流程图(如下)
四、详细设计说明
主函数模块包括判断函数输入模式是否正确的模块,输入转换模块,数值计算模块和输出模块。在主函数中首先调用函数Input(),然后调用到函数Change(),在Change()函数中调用了函数Sum(),随后主函数中又根据操作者调用了函数Add()或者函数Mul(),最后主函数调用了函数Output()后程序结束。其中,
函数Input()的作用是判断操作者输入的数据格式是否正确,其中参数是字符型的数组;
函数Change()的作用是将字符串分节转变为整型数,并存入链表中。其中,每两个逗号之间的数字字符转化为一个整型数存入一个节点中,每个整型数最多4位。一个链表由多个整型数表示,一个链表表示一个超长正整数。参数是字符型的数组,返回值是节点类型的头节点;
函数Sum()的作用是表示一个以十为底的指数函数。参数是整型,返回值是整型;
函数Add()的作用是计算两个超长正整数的加法。参数是两个节点类型的头节点,返回值是一个节点类型的头节点;
函数Mul()的作用是计算两个超长正整数的乘法。参数是两个节点类型的头节点,返回值是一个节点类型的头节点;
函数Output()的作用是将所得的结果链表输出。参数是一个节点类型的头节点。
五、软件使用说明
第一,现根据提示输入一个字符串形如“**,****,****,****”如图,
第二,若不小心输入的字符串格式不正确,则根据提示进行下一步,如图,
第三,输入Y,重新输入数据。
第四,输入数据,如56,6000;
第五,输入N,继续程序;
第六,输入b,如,12,1265
第七,根据自己情况选择。若需算两数加法则输入0后按下回车键后出结果,若需算两数乘法法输入1后按回车键出结果;如图,计算两数加法:
六、调试与测试
调试方法:
编译链接,debug
测试结果分析:
0与0的加法与乘法
0与任意一个数的乘法:
1326,9543与54,0054,4494的加法与乘法
2,0000,4356与1,0001,0003,9600,5600的加法与乘法
测试过程中遇到的主要问题及采取的措施:
编译链接后出现的错误注意与提示对照解决。如.节点的申请没有与节点类型相照应、
输入分号时用了中文输入法输入等。在编译链接没错之后,输入具体数据进行测试,若有错,则用debug一点一点找出出错点然后进行改正。在用具体数据测试时,发现在乘法中出错居多,有的是没有把情况考虑完全,忘了申请新的节点,后又加上。还有是进入了死循环,后根据出错点,发现是因为限制条件写的不正确,然后根据具体的函数又加了新的限制条件后正确了。在起初编的程序里,乘法函数用的方法很占内存,后又根据老师提示的思路改正了方法,内存得到了很大的节约。
文档评论(0)