项目报告书.doc

上传人:创****公 文档编号:814705 上传时间:2018-11-02 格式:DOC 页数:4 大小:38KB
下载 相关 举报
项目报告书.doc_第1页
第1页 / 共4页
项目报告书.doc_第2页
第2页 / 共4页
项目报告书.doc_第3页
第3页 / 共4页
项目报告书.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、项目报告书项目名称:大整数的加减法负责任务:加法模块姓名:刘满满学号:2008213848完成时间:2010-1-7一、 功能模块定义(1) 功能描述:此模块是实现两个大整数的相加,因为这个整数超出了 long 型,所以选用一个链表把这个大整数存起来,然后再逐个相加。(2) 模块算法描述:Void add(LinkList L1,LinkList L2,LinkList While(i10;a=a-10;把 a 赋给 L3;若 an?m:n;while(inext;q=q-next;i+;Pop(S,c);a=(p-data)+(q-data)+c;if(a=10)a=a-10;Push(S,

2、b);l=(struct LNode *)malloc(sizeof(struct LNode);此行加上接下来的三行都是让l-data=a; 进l-next=r-next;r-next=l;elsePush(S,x);l=(struct LNode *)malloc(sizeof(struct LNode);l-data=a;l-next=r-next;r-next=l;int d;Pop(S,d);if(d=1) 如果栈里面还有,则说明还需要再向前进位l=(struct LNode *)malloc(sizeof(struct LNode);l-data=d;l-next=r-next;r

3、-next=l;四、 所遇问题及解决方法测试数据的时候发现有一种情况没有考虑:即两个数位数相同,并且相加之后还要进位。困为如果要进位,栈里面肯定还有一个 1,所以解决方法就是在模块最后进行一次出栈操作,假如为 1,则把它赋给 L3.五、 体会和总结在这次用链表实现大整数加法的过程中,我学到了很多,对动态链表有了新的认识和了解,以前用的都是线性表,静态的,和数组相似,一直没有尝试过用链表。这次是一个从研究到应用的过程,总体来说,加法运算的编写过程还算是比较顺利的,只是最开始写的时候有一种情况没有考虑,就是:当两个位数相等的数相加并且所得的数位数比两个加数要大一位,这种情况只需要把栈里面的 1 再插到 L3 里面就行了!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 调查报告

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。