- 181
- 0
- 约 32页
- 2016-08-08 发布于重庆
- 举报
数据结构课程设计报告一元多项式加减乘除
多项式想加减与乘与升降序
学 院 计算机科学与技术
专 业 信 息 安 全
学 号 201312070
学 生 姓 名 陶宝中
辅导教师姓名
2014年月 日
设计目的
建立一元多项式的顺序表和链式表,按程序提示输入每个项数据结束创建。借助元素在存储器中的相对位置来表示数据元素之间的关系,顺序表中第i个位置表示一元多项式的第i项的系数为第i个位置存放的内容,指数为i-1。创建一个一元多项式顺序表,对一元多项式的运算中会出现的各种情况进行分析,实现一元多项式的相加、相减、相乘操作。用链表来表示只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个term项结构和指向下一个节点的指针域,term又包括系数和指数两个域分别存放该项的系数、。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减、相乘操作。
一元多项式的加法
对于两个一元多项式中所有指数相同的项,对应系数相加,若其和不为零,则构成“和多项式”中的一项;对于两个一元多项式中所有指数不相同的项,则分别复抄到和多项式中去。
一元多项式的减法
对于两个一元多项式中所有指数相同的项,对应系数相减,若其差不为零,则构成“和多项式”中的一项;对于两个一元多项式中所有指数不相同的项,将其按减法规则复抄到差多项式中去。
一元多项式的乘法
将乘法运算分解为一系列的加法运算利用两个一元多项式相加的算法实现。
一元多项式项的指数比较
比较相邻两项的指数的大小。按升序排列时,前面项的指数大于后面项的指数就交换其项的位置。按降序序排列时,后面项的指数大于前面项的指数就交换其项的位置。
一元多项式运算结果升降排序
一元多项式运算结果选择调用降序或升序排序函数。
一元多项式的输出
将选择的运算操作结果输出。
一元多项式的销毁
销毁已建立的两个多项式,释放空间。
3 程序运行平台
VC++6.0。 编译,链接,执行。 Windows XP。
4 总体设计
图4。1 系统总体框架图
5 程序类的说明
(1)Ploy结构声明
typedef struct //顺序表结构声明
{
int a[N];//记录多项式
int len;//记录多项式的长度
}Ploy;
(2)term结构声明
typedef struct //项的表示
{ float coef; //系数
int expn; //指数
}term;
(3)LNode结构声明
typedef struct LNode
{ term data; //term多项式值
struct LNode *next;
}LNode,*LinkList; //两个类型名
typedef LinkList polynomail; //用带头结点的有序链表表示多项式
6 模块分析
整个流程图如图所示:
图1
6.1 创建模块
6.1.1、链式存储结构的一元多项式的创建
程序源代码:
polynomail creatpolyn(polynomail P,int m)
{
//输入m项的系数和指数,建立表示一元多项式的有序链表P
polynomail r,q,p,s,Q;
int i;
P=(LNode*)malloc(sizeof(LNode));
r=P;
for(i=0;im;i++)
{
s=(LNode*)malloc(sizeof(LNode));
printf(请输入第%d项的系数和指数:,i+1);
scanf(%f%d,s-data.coef,s-data.expn);
r-next=s;
r=s;
}
r-next=NULL;
if(P-next-next!=NULL)
{
for(q=P-next;q!=NULL/*q-next!=NULL*/;q=q-next)//合并同类项
for(p=q-next,r=q;p!=NULL;)
if(q-data.expn==p-data.expn)
{
q-data.coef=q-data.coef+p-data.coef;
r-next=p-next;
Q=p
您可能关注的文档
最近下载
- 枣庄市台儿庄区2025届公费医学毕业生定岗笔试参考题库附答案解析.docx VIP
- 高中英语2025届高考热点人工智能与科技伦理主题作文核心词汇解读.doc VIP
- 2026中考数学压轴题每日一题(120题)答案.pdf VIP
- 2025年03月山东临沂市公费医学生考试选聘笔试历年专业考点(难、易错点)附带答案详解 .doc
- 基于PLC技术的数据中心冷源自控系统设计与应用.pdf VIP
- 时间在哪里认识时间 课件 人教版数学二年级下册.pptx VIP
- 2024年浙江事业单位427统考《综合应用能力》模考大赛(第二季).docx VIP
- 永川年产 200 万把陶瓷水果刀生产线设计.docx VIP
- 2024年07月山东省公费医学生(定向淄博)统一选岗2人笔试历年专业考点(难、易错点荟萃)附带答案详解 .doc
- 常见氧疗方式及其选择ppt课件-----精品课件下载.ppt VIP
原创力文档

文档评论(0)