- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
长整数加减运算实验新报告
长整数加减的运算
一、需求分析
问题描述:
设计一个实现任意长的整数进行加法运算的演示程序
基本要求:
利用双向循环链表实现长整数的存储,每个结点含一个整型变量。任何整型变量的范围是
-(2 15 -1)~(2 15 -1) 。输入输出形式:按照中国对于长整数的表示习惯,每四位是一组,组间用逗号隔开
更高要求:
(1)长整数的减法
(2)多个长整数的连续加减法,并带括号等。具体方式可以参见表达式的求值部分,利用栈
测试数据:
(1)0;0;应输出“0”
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”
(3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”
(4)1,0001,0001;-1,0001,0001;应输出“0”
(5)1,0001,0001;-1,0001,0000;应输出“1”
(6)-9999,9999,9999;-9999,9999,9999;应输出“-1,9999,9999,9998”
(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”
概要设计
数据结构
此实验采用的数据结构是双向循环链表。这样可以很容易的找到他的前驱以及它的后继。节点采用结构体类型,代码如下:typedef struct Node // 双向链表的结构体定义
{
int data;
struct Node *prior;
struct Node *next;
}DLNode;
使用函数
void ListInitiate(DLNode **head)
操作结果:初始化一个头结点为head的双向循环链表;
int ListLength(DLNode *head)
操作结果:计算以head为头结点的链表的长度
int ListInsert(DLNode *head,int i,int x)
操作结果:将节点数据为x的节点插到第i个位置上去。
int abs(int x)
操作结果:绝对值函数,返回x的绝对值。
int InputNumber(DLNode *head)
操作结果:将从键盘中接收数据并把得到的数据存入以head为头结点的链表中。四位一存,中间以逗号区分,结束符为分号。
void OutputNumber(DLNode *head,int sign)
操作结果:将以head为头结点的链表中的所有数据输出到显示屏上,
void add(DLNode *head1,DLNode *head2,DLNode *head3)
操作结果:实现正数加正数的加法操作。
int change(DLNode *head1,DLNode *head2)
操作结果:判断存在俩个链表中的数的大小,如何head1中的数大于head2中的数那么返回值为0,反之返回值为1,相等时返回值为2;
void method(DLNode *head1,DLNode *head2,int x)
操作结果:计算正数乘以正数的乘法运算。
void minus(DLNode *head1,DLNode *head2,DLNode *head3)
操作结果:计算正数减正数的减法运算。
void yunsuan(DLNode *head1,DLNode *head2,DLNode *head3,char ch)
操作结果:正数,负数,加法,减法。计算式共分为八种运算,在这之前我已经实现了二种运算,那么这个函数就是把这八种运算按照一定的规则转化成已经实现的二种运算来实现完整的加减法运算。
void chengfa(DLNode *head1,DLNode *head2)
操作结果:在乘法中我只是实现了正数乘以正数的运算,那么这个函数就是通过调用method函数按照一定的规则来实现完整的乘法运算。
void main()
操作结果:主函数。调用以上的各个函数来引导用户进行长整数的加法运算,加法运算,乘法运算。
详细设计
数据结构详细设计
typedef struct Node // 双向链表的结构体定义
{
int data;
struct Node *prior;
struct Node *next;
}DLNode;
双向循环链表的节点由三个部分组成,第一是数据部分data存储此节点的数据,第二是此节点的前驱指针部分*prior指向此节点的前驱,第三是此节点的后继指针部分*next指向此节点的后继。数据部分我们约定它为整形变量,前驱后继指针均为结构体Node类型。
链表初始化函数:
void ListInitiate(DL
您可能关注的文档
- 金属学与热处理总复新习.ppt
- 金算盘.学习资料新.ppt
- 金蝶K3-BOM培训新.ppt
- 金算盘操作应用新.ppt
- 金线机维护资料新.ppt
- 金蝶K3凭证处理新.ppt
- 金科万家宴策划方案新.ppt
- 金蝶K3的财务报表处新理.ppt
- 金蝶K3-存货核算计夹论方法培训.ppt
- 金蝶KIS专业版如何孕纶工资管理中职员增加自定义属性.pdf
- 2025年安徽林业职业技术学院单招(语文)测试题库附答案.docx
- 2025年西安高新科技职业学院单招语文测试题库必威体育精装版.docx
- 2025年甘肃省庆阳地区单招(语文)测试题库必威体育精装版.docx
- 2025年河北省衡水市单招(语文)测试题库必威体育精装版.docx
- 2025年内蒙古阿拉善盟单招(语文)测试模拟题库必威体育精装版.docx
- 2025年朔州师范高等专科学校单招(语文)测试题库必威体育精装版.docx
- 2025年山东省淄博市单招(语文)测试题库必威体育精装版.docx
- 2025年武汉信息传播职业技术学院单招语文测试题库附答案.docx
- 2025年浙江交通职业技术学院单招(语文)测试模拟题库附答案.docx
- 2025年四川机电职业技术学院单招语文测试模拟题库附答案.docx
最近下载
- 活性肽在运动营养补充剂中的作用.docx VIP
- 中考数学总复习方程与不等式第7讲分式方程(00001)省公开课一等奖百校联赛赛课微课获奖课件.pptx
- 四川省高职单招公共管理与服务类《公共关系》历年考试真题试题库(含答案).docx
- 人教版一年级数学上册第三单元达标检测卷(含答案).pdf VIP
- (正式版)-B 5768.2-2022 道路交通标志和标线 第2部分:道路交通标志.docx VIP
- 程楼小学师德师风警示教育活动实施方案.pdf VIP
- 山东省青岛市2022-2023学年高三上学期期初调研检测数学试题(原卷版).docx VIP
- 马小跳玩数学公开课获奖课件百校联赛一等奖课件.pptx
- 静脉留置针时间延长PDCA.ppt
- 消防安全知识培训课件(2023必威体育精装版).pptx
文档评论(0)