- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告
课 题: 一元多项式
姓 名: XX
学 号: 201417030218
专业班级: XXXX
指导教师: XXXX
设计时间: 2015年12月30日星期三
目录
任务目标……………………………… 3
概要设计……………………………… 4
详细设计……………………………… 6
调试分析……………………………… 8
源程序代码………………………… 8
程序运行效果图与说明…………… 15
本次实验小结……………………… 16
参考文献…………………………… 16
一丶任务目标
分析 (1) a.能够按照指数降序排列建立并输出多项式
b.能够完成两个多项式的相加,相减,并将结果输入
要求:程序所能达到的功能:
a.实现一元多项式的输入;
b.实现一元多项式的输出;
c.计算两个一元多项式的和并输出结果;
d.计算两个一元多项式的差并输出结果;
除任务要求外新增乘法:
计算两个一元多项式的乘积并输出结果
(2)输入的形式和输入值的范围:
输入要求:分行输入,每行输入一项,先输入多项式的指数,再输入多项式的系数,以0 0为结束标志,结束一个多项式的输入。
输入形式:
2 3
-1 2
3 0
1 2
0 0
输入值的范围:系数为int型,指数为float型
(3)输出的形式:
第一行输出多项式1;
第二行输出多项式2;
第三行输出多项式1与多项式2相加的结果多项式;
第四行输出多项式1与多项式2相减的结果多项式;
第五行输出多项式1与多项式2相乘的结果多项式
二、概要设计
程序实现
a. 功能:将要进行运算的二项式输入输出;
b. 数据流入:要输入的二项式的系数与指数;
c. 数据流出:合并同类项后的二项式;
d. 程序流程图:二项式输入流程图;
e. 测试要点:输入的二项式是否正确,若输入错误则重新输入。
流程图:
三、详细设计
(1):存储结构
一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。
(2):数据链表
由于采用链表的方法,我们可以建立3条链;一条用于存放多项式HA,一条用于存放多项式HB,还有一条用于存放新形成的HC。此外,我们的程序应具备以下几个功能:建立链表,撤销链表,打印链表,按要求插入一个新的结点,复制链表;为了使上面程序结构分析进一步细化,为了使程序结构更加清晰,我们可以把上面的内容都编写成函数形式。
1、建立链表
该程序建立链表的函数与大多数建立链表的操作基本一致,但是由于实体是一元多项式的关系。我们更希望,在处理客户输入的数据的同时,能对数据进行适当的处理。也就是数学上所说的,“对一元多项式进行化简,并按照降幂排序。”由于在前面的练习中,我们得知,在链表中插入一个结点的函数,具有对链表的成员进行排序与合并的功能。如此一来,我们可以巧妙地处理,在建立链表的同时,调用”在链表中插入一个结点的函数”,对新建立的链表进行化简。
该函数的算法描述如下;
声明指针变量,并作为头指针的指针变量赋初值NULL;
创建一个新的结点,并输入链表的信息;
若输入的系数值与函数值同不为0时,调用”在链表中插入一个结点的insert函数”,将结点插入链表中;(注:这里建立链表的函数与以往的不同,我们是通过假想有一条空链,不断地调用insert函数来实现建立链表的功能。简言之;链表中成员的链接全都靠insert函数来实现,而该函数仅仅是不断地提供建立链表所要的数据罢了。)
若还要继续插入结点,转到步骤2继续进行;
否则,程序结束,把头指针返回主程序。
2、撤销链表
撤销链表是为了把链表所占用的地址回收起来,防止造成浪费。我们该程序可以采用从链表的始端逐步销去结点。在这个过程中,我们需要链表的头地址作为形式参数,还需要建立一个指针用来指向新头地址。
该函数的算法描述如下:
指针变量;并把头地址指针赋给新指针变量;把头地址指针指向下一个结点;
您可能关注的文档
- 四大管道安装作业指导书概念.doc
- 四大管道安装作业指导书第三版概念.doc
- 数控技师2014复习概念.doc
- 四川信托有限公司重组后的风险管理体系研究概念.doc
- 四川省遂宁市2017届高三上学期零诊考试理科综合试题概念.doc
- 数控机床的操作及编程实训概念.doc
- 四川省遂宁市2015-2016学年高一政治上学期期末考试试题概念.doc
- 数控车工实训教案概念.doc
- 数控车床装调工练习题概念.doc
- 数控车床的应用针对轴类零件的加工及工艺概念.doc
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)