- 7
- 0
- 约3.56千字
- 约 8页
- 2021-01-26 发布于天津
- 举报
课程设计报告
课程名称 数据结构课程设计
题 目 长整数加减运算
指导教师
设计起始日期 3.21?3.28
学 院
系 别
学生姓名
班级/学号
成 绩
需求分析
设计一个实现任意长的整数间进行四则运算的程序,要求完成长整数的加 运算和减运算。长整数的长度没有限制,可以是任意长。正确处理好运算之后 的进位和借位。
(1)输入:〃卜]表示“
(1)
输入:
〃卜]表示“-”可选
(2) 输出:**,***,****,***是否继续计算(Y/N):
功能:能正确进行相关数据的加减运算
测试数据:
0; 0;输出“ 0”
2345,6789; 7654,3211 输出“ 1,0000,0000
1,0000,0000,0000 -9999,9999 ;输出“ 9999,0000,0001
1,0001,000Q1 -1,0001,000Q 输出“ 0”
自选数据
概要设计
1、使用双向循环链表实现长整数的运算及存储, 构造双向循环链表,创建
双向循环链表表示两个整数
2、 设计两整数相加的函数 Add(),addtwo(),其中 Add()调用
addtwo()函数,addtwo()具体实现两个整数的加减操作,进位及借
位问题;设计显示函数 Display。及主函数main()
三、详细设计
Add () ” Display ()addtwo() Creat (char )sum(dnt) iLinkbi st ()1、数据结构设计双向循环链表的构造typedef struct Lin kNode{ int data;Lin kNode *n ext, *pre;
Add () ” Display ()
addtwo() Creat (char )
sum(dnt) iLinkbi st ()
1、数据结构设计
双向循环链表的构造
typedef struct Lin kNode{ int data;
Lin kNode *n ext, *pre;
}li nklist;
2、创建两个长整数的链表 伪算法
//记录每个节点的整数(小于)
//记录下一个节点的地址和前一个节点的地址
void Creat(char a[])
//引入字符串,创立两个链表,分别表示两个整数
{
int 记录字符串i ;记录加数节点数j ;记录被加数节点数s;标记字符串中的-号 记录字符串中的字符转化为整数的值 k,使每个节点记录位I
while(指针所指不是“;”)被加数字符数m自动加1 〃m记录字符串中被加数
的字符数
n=m;
while(执政没有指到结尾处)总字符串n位数自动加1; 〃n记录字符串的总字
符数
if被加数不是负数
{
head0-data=(-1); // 记录整数符号
w=1;
}
else {head0-data=1;}
for(i=m-1;i=w;i--){If指针所指为数字,而不是“,”
for(i=m-1;i=w;i--)
{
If指针所指为数字,而不是“,”
{
k+=(a[i]-O)*sum(l); 〃sum()
I++;
}
if(a[i]==,||i==w)
{
把整数存到双向循环链表中
s++;
k=0;
l=0;
}
} headO-pre-data*=s;
}
//把字符转化为整数
计算的乘方
//节点数加
//重新初始化k和I
//存储整数符号和节点数
四、 调试分析
a、 调试过程中,连续输入数字运算,速度会明显变慢,发现在 初始化链表及运算后没有释放链表, 造成系统资源浪费,经 改造后自爱后面添加了析构函数
b、 算法的时空分析
创建整数链表有三个循环,次数都为 n。时间复杂度和空间 复杂都都为O (n)
五、 使用说明和测试结果
1、使用说明:用户按照屏幕所显示的提示来正确输入数字
[―; [— # MX MM
理初JU—个两个薮之间用y隔开
其中[-]表示“-”为可选,从右至左每四位数字一个
while (a[m]!= m++;
while (a[m]!= m++; 〃m记录字符串中被加数的字符数
2、测试结果:
2345,6785:7654,3211
00,0000;
00,0000;-9999,9999 ,0081
L, 0001; -1,0001 □. 0001
六、心得体会
六、
心得体会
通过此实验,加深了我对链表的基本操作,对双向链表及循环链 表的操作及实际运用有了很深的体会,在处理数字的进位借位时 有了进一步的提咼。
七、附录
1、链表的创建:
#include stdio.h
#include math.h
#include stdlib.h typedef struct LinkNode{
int data; //记录每个节点的整数(小于)
LinkNod
您可能关注的文档
最近下载
- 明代宗教信仰与思想控制.docx VIP
- 江苏省南通市2024-2025学年高二上学期期末学业质量监测语文试卷(含答案).pdf VIP
- 国就有成人演出的电影了?想看就要冒生命危险.pdf VIP
- 综合素质练习题及答案.doc VIP
- 2020-2021学年北京高三化学二轮复习 反应原理型简答题(突破二卷)(word版 含答案).docx VIP
- 电力拖动控制线路安装与检修(白银矿冶职业技术学院)知到智慧树答案.docx VIP
- 煤炭巷道掘砌工(高级工)资格考试题库(全真题库).docx VIP
- 影像叙事中情感共鸣生成机制.docx VIP
- 同轴二级圆柱齿轮减速器的设计(硬齿面).doc VIP
- 基于GPU多线程多通道图像高速重构方法、设备及介质.pdf VIP
原创力文档

文档评论(0)