- 2
- 0
- 约1.1万字
- 约 18页
- 2021-11-26 发布于上海
- 举报
实用标准文案
哈尔滨工业大学计算机科学与技术学院
实验报告
课程名称:数据结构与算法
课程类型:必修
实验项目:线性结构及其应用
实验题目:多项式的加减乘除和特定值带入
实验日期: 2017/11/5
班级: 1603001
学号: 1160300121
姓名:安宏宇
设计成绩 报告成绩 指导老师
张岩
精彩文档
实用标准文案
一、实验目的
设计线性表的链式存储结构,并实现一元多项式的代数运算。
二、实验要求及实验环境
(1)实验要求: 以链表存储一元多项式, 在此基础上完成对多项式的代数操作。
1. 能够输入多项式 (可以按各项的任意输入顺序,建立按指数降幂排列的多项式)
和输出多项式(按指数降幂排列) , 以文件形式输入和输出,并显示。
2. 能够计算多项式在某一点 x=x0 的值,其中 x0 是一个浮点型常量, 返回结果
为
浮点数。
3. 能够给出计算两个多项式加法、 减法、乘法和除法运算的结果多项式, 除法运
算的结果包括商多项式和余数多项式。
4. 要求尽量减少乘法和除法运算中间结果的空间占用和结点频繁的分配与回收
操作。 (提示:利用循环链表结构和可用空间表的思想,把循环链表表示的多项
式返还给可用空间表,从而解决上述问题) 。
(2)实验环境: windows 下的 CB;
三、设计思想 (本程序中的用到的所有数据类型的定义, 主程序的流程图及各程
序模块之间的调用关系)
1.逻辑设计 :
struct polynode
{
int coef;
int exp;
struct polynode * link;
};// 建立链表
typedef struct polynode poly;
poly* Attch(int c,int e,poly *d);// 多项式插入
精彩文档
实用标准文案
poly *newPoly();// 新链表
poly *padd(poly *p1,poly *p2);// 多项式加法
poly *pmul(poly *p1,poly *p2);// 乘法
poly *inputPoly();// 输入多项式
poly *psub(poly *p1,poly *p2);// 减
poly *pdiv(poly *p1,poly *p2);// 除
poly *inputPoly1();
double caculate(double x,poly *p);// 计算多项式
void sortPoly(poly *p);// 多项式排序
void outputPoly(poly*p);// 输出多项式
void delPoly(poly*p);// 清空多项式
2 . 物 理 设
原创力文档

文档评论(0)