数据结构课程设计(长整数四则运算)汇总.pdf

数据结构课程设计(长整数四则运算)汇总.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、 需求分析 1.本程序实现计算任意长的整数的四则运算 . 以用户和计算机对 话的方式, 先 后输入数字的最多位数, 然后程序就计算并显示出 这两个数的运算。 2. 利用双向循环链表现实长整数的存储,每个结点含一个整形 变量。输入的形 式以回车结束,可以直接输入正数或负数,程序 会过滤掉无效的字符。 按中 国对于长整数的表示习惯, 每四位一 组,除数字和位于首位置的负号外, 其 它一切字符都将作为分隔 符,连续多个分隔符当一个处理。 但不使用分隔符 也不影响结果。 3. 测试数据 (1)0; 0; 输出“ 0 ”; (2)-2345,6789; -7654,3211; 输出 “-1,000,000”; (3)-9999,9999; 1,0000,0000,0000; 输出 “9999,0000,0001”; (4)1,0001,0001; -1,0001,0001; 输出 “0”; (5)1,0001,0001; -1,0001,0001; 输出 “1”; (6)-9999,9999,9999; -9999,9999,9999; 输出 “-1,9999,9999,9998”; (7)1,0000,9999,9999; 1; 输出 1,0001,0000,0000. 二、概要设计 为实现上述程序功能,应以双向循环链表表示长整数。为此,需 要定义一个抽象数据类型。 1. 抽象数据类型定义为: ADT OrderedList{ 数据对象: D={ai|ai ∈int,i=1,2,...n, n ≥0} 基本操作: init(a,digit4) 操作结果:构造一个位数是 digit4*4 长整数。 pass(a,b,c) 初始条件: a,b,c 都已存在 操作结果: c 等于 a 和 b 的和。 nep(a) 初始条件: a 已存在。 操作结果: a 变为输入参数的相反数。 printlong(a) 初始条件: a 已存在。 操作结果: 按四位一组, 分隔符为 , 的格式,在屏幕上输出 a。 ston(S,a) 初始条件: a 已存在。 操作结果:把字符串形式的长数字赋给 a。 }ADT OrderedList 2.本程序包含两个模块: 1)主程序模块: Void main(){ 选择操作: 1:帮助。 2 :加法。 3 :减法。 4 :乘法。 5 :除法。 6 :退出。 打印结果; } 三、详细设计 1.元素类型,结点类型,指针类型 #define NULL 0 #includestdio.h #includestdlib.h #includeconio.h typedef struct longnode{ /* 每个节点的结构 */ int num; /* 数字 */ struct longnode *low1; /* 指向低一位节点 */ struct longnode *high1; /* 指向高一位节点 */ }longnode; typedef struct xlong{ /* 每个长整数的结构 */ longnode *High; /* 每个长整数的最高节点 */ longnode *Low; /* 每个长整数的最低节点 */ int digit4; /* 每个长整数的总位

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档