教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

C++一元多项式计算问题-课程设计说明书(2)

来源:网络收集 时间:2026-08-10
导读: 目录 1 设计内容与要求 ??????????????????????????????? 1 2.设计说明 ?????????????????????????????????? 1 2.1 问题描述与功能设计????????????????????????????1 2.2 数据结构与算法?????????????????????????

目录

1 设计内容与要求 ??????????????????????????????? 1 2.设计说明 ?????????????????????????????????? 1 2.1 问题描述与功能设计????????????????????????????1 2.2 数据结构与算法??????????????????????????????1 2.3 函数定义?????????????????????????????????3 2.4 界面设计?????????????????????????????????4 2.5 编码???????????????????????????????????5 2.6 测试???????????????????????????????????10 3 总结?????????????????????????????????????14

参考文献 ???????????????????????????????????15 附录A 源代码?????????????????????????????????16

V

⒈设计内容与要求

设计内容:

设计一个稀疏多项式简单计算器,能够进行简单的基本运算。如:多项式相加、多项式相减、多项式求值??等等。 基本要求:

(1)输入并分别建立多项式A和B

(2)输入输出多项式,输出形式为整数序列:n,c1,e1,c2,e2??,其中n是多项式的项数,ci和ei是第i项的系数和指数,序列按指数降序排列

(3)完成两个多项式的相加、相减,并将结果输出; 创新要求:

(1).多项式在x=1时的运算结果 (2)求多项式A和B的乘积

2.设计说明

2.1 问题描述与功能设计

本程序要求能够实现从键盘键入两个多项式的系数、指数相关数据后,能够进行多项式输出、多项式相加、多项式相减、多项式求值、多项式求积的运算。

2.2 数据结构与算法

数据结构

多项式的逻辑结构:视为线性表 p(x)=3x14-8x8+6x2+2

数据元素 (coef,exp)

表示多项式项 coef·Xexp ,coef是该项的系数,exp是变元X的指数。

为了实现任意多项式的运算,因此选择单链表的结构体,它有一个系数,指数,下一个指针3个成员。

- 1 -

算法

多项式的输入与建立

调用CreatePolyn()函数建立链表,将多项式每一项的系数与指数作为链表一个结点的数据,按照指示输入每一项的系数与指数时,将调用Insert()函数,将输入的结点信息按指数降序排列的方式插入到之前建立的链表中,并合并同类项。依次输入、建立一元多项式pa和pb。如下图。

多项式的输出

调用PrintPolyn()函数将多项式链表中的结点数据按照一元多项式的格式(如:6x^5+3x^3+7x+3)输出到屏幕上。

两个多项式的加法

调用AddPolyn()函数直接对两个多项式的链表的结点成员的系数与指数按照数学中多项式相加的原则进行操作。其中要调用compare()函数对两个多项式的指数或是项数进行比较。相加所得的多项式存放到新建的第三个多项式中。再对第三个多项式输出即可。

- 2 -

两个多项式的减法

调用SubtractPolyn()函数对两个多项式减法运算。首先对要减的多项式的系数求反,接着调用AddPolyn()函数对处理后的多项式相加即两个多项式的相减。所得的多项式存放到新建的第三个多项式中,再对第三个多项式输出即可。

多项式的求值

调用ValuePolyn()函数对多项式求值。在用户输入X的值后,对链表每个结点的数据进行求值,然后求和即多项式在X为某一值的值。其中用到C语言中的数学函数:pow。其功能为计算x的y次幂,

所在头文件:math.h 。

两个多项式的乘法

调用MultiplyPolyn()函数对两个多项式进行乘法运算。根据数学知识,依次用一个多项式的每一项乘以另一个多项式的每一项,再求和、合并同类项即两个多项式的乘积。当中用了多两个多项式的while循环,以确保两个多项式的每一项都得到相应的运算,每一次运算后调用Insert()函数把乘积插入到新建的链表中,以得到一个结点信息按指数降序排列的方式排列,并以合并同类项的链表。

2.3 函数定义

为了程序功能的顺利实现,在本程序中定义了如下函数: 函数名 功能

Insert() 链表结点数据的插入与排序 CreatePolyn() 链表头结点的创建 DestroyPolyn() 链表的销毁

PrintPolyn() 链表数据的多项式形象化输出 Compare() 两个多项式的指数或是项数进行比较 AddPolyn() 两个多项式的加法 SubtractPolyn() 两个多项式的减法 ValuePolyn() 多项式的求值 MultiplyPolyn() 两个多项式的乘法 desktop() 程序界面的实现

- 3 -

2.4 界面设计

程序数据初始界面:

程序操作主界面:

- 4 -

…… 此处隐藏:337字,全部文档内容请下载后查看。喜欢就下载吧 ……
C++一元多项式计算问题-课程设计说明书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/615218.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)