课程设计报告

发布 2022-10-01 03:59:28 阅读 7119

信息与控制学院。

课程设计。课程设计题目: 一元高次多项式。

学生姓名赵雅萱。

学号: 20121325061

学院: 信息与控制学院。

专业: 信息工程(系统工程方向

指导教师陈金辉。

二零一三年 12月 17号。

目录。一、设计目的3

二、概要设计3

三、简单流程图3

四、详细设计4

五、调试与测试5

六、源程序7

一、设计目的。

建立两个一元多项式a和b,将一元多项式输入并存储在内存中,将两个多项式以加减法的形式进行合并同类项,并按照降幂形式输出合并结果。

二、概要设计。

存储结构:一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。

创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。

基本算法:1、输入输出。

1)功能:将要进行运算的多项式输入输出。

2)数据输入:要输入的多项式的系数与指数,中间用空格隔开。

3)数据输出:以降幂形式输出合并同类项后的多项式。

4)输入提示:输入的多项式是否正确,若输入错误则提示重新输入。

2、多项式的加法。

1)功能:将两多项式中幂相同的项的系数相加,若有幂不同的项,则寻找合适的位置插入新的结点。

2)数据流入:输入函数。

3)数据流出:多项式相加后的结果。

3、多项式的减法。

1)功能:将两多项式中幂相同的项的系数相减,若有幂不同的项,则寻找合适的位置插入新的结点。

2)数据流入:输入函数。

3)数据流出:多项式相减后的结果。

三、简单流程图。

四、详细设计。

设计思路:1、 定义线性表的动态分配顺序结构。

2、 建立多项式存储结构,定义指针*next。

3、 利用链表实现队列的构造。每次输入一项的系数和指数。

设计思路分析:

要解决多项式相加,必须要有多项式,所以必须首先建立两个多项式,在这里采用链表的方式存储链表,所以将结点结构体定义为:

运用尾插法建立两条单链表,以单链表polyn p和polyn h分别表示两个一元多项式a和b,a+b的求和运算等同于单链表的插入问题(将单链表polyn p中的结点插入到单链表polyn h中),因此“和多项式”中的结点无须另生成。

为了实现处理,设p、q分别指向单链表polya和polyb的当前项,比较p、q结点的指数项,由此得到下列运算规则:

若p->expnexpn,则结点p所指的结点应是“和多项式”中的一项,令指针p后移。

若p->expn=q->expn,则将两个结点中的系数相加,当和不为0时修改结点p的系数。

若p->expn>q->expn,则结点q所指的结点应是“和多项式”中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移。

五、调试与测试。

1、输入多项式。

2、选择界面。

3、加法。4、减法

六、源程序。

#include<>

#include<>定义多项式的项。

typedef struct polynomial

if(q2&& p->expn ==q2->expn)

将指数相同相合并。

q2->coef +=p->coef;

free(p);

if(!q2->coef)

系数为0的话释放结点。

q1->next=q2->next;

free(q2);

else指数为新时将结点插入。

p->next=q2;

q1->next=p;

polyn createpolyn(polyn head,int m)

return head;

void destroypolyn(polyn p)

void printpolyn(polyn p)

while(q)

elseq=q->next;

flag++;

printf("");

int compare(polyn a,polyn b)

else if(!a&&b) return -1a多项式已空,但b多项式非空。

else return 1b多项式已空,但a多项式非空。

polyn addpolyn(polyn pa,polyn pb求解并建立多项式a+b,返回其头指针。

polyn qa=pa->next;

polyn qb=pb->next;

polyn headc,hc,qc;

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...