没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计—一元多项式加法减法乘法运算的实现.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 5 浏览量
2021-12-01
07:35:12
上传
评论
收藏 314KB PDF 举报
温馨提示
试读
20页
数据结构课程设计—一元多项式加法减法乘法运算的实现.pdf
资源推荐
资源详情
资源评论
1
1. 一元多项式加法、减法、乘法运算的实现
1.1 设计内容及要求
1) 设计内容
(1)使用顺序存储结构实现多项式加、减、乘运算。
例如:
10321058)(
2456
xxxxxxf
,
xxxxxxg
2345
1020107)(
求和结果: 102220128)()(
2356
xxxxxgxf
(2)使用链式存储结构实现多项式加、减、乘运算,
10305100)(
1050100
xxxxf
,
xxxxxxg 320405150)(
10205090
求和结果:
1031040150100)()(
102090100
xxxxxxgxf
2)设计要求
(1)用 C语言编程实现上述实验内容中的结构定义和算法。
(2)要有 main() 函数,并且在 main() 函数中使用检测数据调用上述算法。
(3)用 switch 语句设计如下选择式菜单。
*************** 数据结构综合性实验 ****************
******* 一、多项式的加法、减法、乘法运算 **********
******* 1. 多项式创建 **********
******* 2. 多项式相加 **********
******* 3. 多项式相减 **********
******* 4. 多项式相乘 **********
******* 5. 清空多项式 **********
******* 0. 退出系统 **********
******* 请选择( 0—5) **********
*************************************************
*请选择( 0-5 ):
1.2 数据结构设计
根据下面给出的存储结构定义:
2
#define MAXSIZE 20 // 定义线性表最大容量
// 定义多项式项数据类型
typedef struct
{
float coef; // 系数
int expn; // 指数
}term,elemType;
typedef struct
{
term terms[MAXSIZE]; // 线性表中数组元素
int last; // 指向线性表中最后一个元素位置
}SeqList;
typedef SeqList polynomial;
1.3 基本操作函数说明
polynomial*Init_Polynomial();
// 初始化空的多项式
int PloynStatus(polynomial*p)
// 判断多项式的状态
int Location_Element(polynomial*p,term x)
在多项式 p 中查找与 x 项指数相同的项是否存在
int Insert_ElementByOrder(polynomial*p,term x)
// 在多项式 p 中插入一个指数项 x
int CreatePolyn(polynomial*P,int m)
// 输入 m项系数和指数,建立表示一元多项式的有序表 p
char compare(term term1,term term2)
// 比较指数项 term1 和指数项 term2
polynomial*addPloyn(polynomial*p1,polynomial*p2)
3
// 将多项式 p1 和多项式 p2 相加,生成一个新的多项式
polynomial*subStractPloyn(polynomial*p1,polynomial*p2)
// 多项式 p1 和多项式 p2 相减,生成一个新的多项式
polynomial*mulitPloyn(polynomial*p1,polynomial*p2)
// 多项式 p1 和多项式 p2 相乘,生成一个新的多项式
void printPloyn(polynomial*p)
// 输出在顺序存储结构的多项式 p
1.4 程序源代码
#include<stdlib.h>
#include<stdio.h>
#include<iostream.h>
#define NULL 0
#define MAXSIZE 20
typedef struct
{
float coef;
int expn;
}term,elemType;
typedef struct
{
term terms[MAXSIZE];
int last;
}SeqList;
typedef SeqList polynomial;
void printPloyn(polynomial*p);
int PloynStatus(polynomial*p)
{
if(p==NULL)
{
return -1;
}
else if(p->last==-1)
{
return 0;
}
4
else
{
return 1;
}
}
polynomial*Init_Polynomial()
{
polynomial*P;
P=new polynomial;
if(P!=NULL)
{
P->last=-1;
return P;
}
else
{
return NULL;
}
}
void Reset_Polynomial(polynomial*p)
{
if(PloynStatus(p)==1)
{
p->last=-1;
}
}
int Location_Element(polynomial*p,term x)
{
int i=0;
if(PloynStatus(p)==-1)
return 0;
while(i<=p->last && p->terms[i].expn!=x.expn)
{
i++;
}
if(i>p->last)
{
return 0;
}
else
{
return 1;
}
}
剩余19页未读,继续阅读
资源评论
siyifu
- 粉丝: 0
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功