- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个一元稀疏多项式简单计算器课程设计报告
课 程 设 计 报 告
学 院:
课程名称:
专业班级:
学生姓名: 学号:
目录
1 一元稀疏多项式计算器 3
1.2 实验内容 3
1.3 概要设计 3
1.4 调试分析 5
1.5 源程序代码 6
2 哈夫曼编/译码器 6
2.1 概述 9
2.2 实验内容 9
2.3 概要设计 10
2.4 调试分析 11
2.5 源程序代码 13
3 图的基本操作与实现 19
3.1 概述 19
3.2 实验内容 19
3.3 概要设计 19
3.4 调试分析 21
3.5 源程序代码 22
《数据结构》课程设计评分表 26
1 一元稀疏多项式计算器
1.1 概述为了实现任意多项式的加法,减法,因此选择单链表的结构体,它有一个系数,指数,下一个指针3个元素
使用语言:C语言
编译环境:VC++ 6.0
1、问题描述
设计一个一元稀疏多项式简单计算器。
基本要求:一元稀疏多项式简单计算器的基本功能是:
(1)输入并建立多项式;
(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,c1,e1,分别是第i项的系数和指数,序数按指数降序排序;
(3)多项式a和b相加,建立多项式a+b;
(4)多项式a和b相减,建立多项式a-b;
(5)计算多项式在x处的值;
(6)计算器的仿真界面(选做)。
2、需求分析(1)输入的形式和输入值的范围:输入是从键盘输入的,输入的内容为多项式的系数和指数,数为任意的整数,指数为大于等于0的整数
(2)输出的形式从屏幕输出,显示用户输入的多项式,并显示多项式加减以后的多项式的值。
(3)程序所能达到的功能a:输入并建立多项式;b:输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;c:多项式a和b相加,建立多项式a+b;d:多项式a和b相减,建立多项式a-b;e:多项式的输出形式为类数学表达式系数值为1的非零项的输出形式中略去系数1而-1x的输出形式为-x。1、存储结构
ypedef struct Polynomial
{ float coef; int expn; struct Polynomial *next;
}*Polyn,Polynomial;
该结构体用以存放以链栈为基础。
2、函数
Polyn CreatePolyn(Polyn head,int m)
该函数用于void DestroyPolyn(Polyn p) 该函数用于void PrintPolyn(Polyn P) 该函数用于Polyn AddPolyn(Polyn pa,Polyn pb)
该函数用于求解并建立多项式 a+b,返回其头指针
Polyn SubtractPolyn(Polyn pa,Polyn pb)
该函数用于求解并建立多项式 a-b,返回其头指针
float ValuePolyn(Polyn head,int x)
该函数用于输入x值,计算并返回多项式的值
int compare(Polyn a,Polyn b) 该函数用于比较a和b的指数
3、流程图#includestdio.h
#includestdlib.h
typedef struct Polynomial { float coef; int expn; struct Polynomial *next;
}*Polyn,Polynomial;
void Insert(Polyn p,Polyn h) { if(p-coef==0) free(p); else { Polyn q1,q2; q1=h; q2=h-next; while(q2p-expnq2-expn) { q1=q2; q2=q2-next; }
if(q2p-expn==q2-expn) { q2-coef+=p-coef; free(p);
if(!q2-coef){q1-next=q2-next;free(q2);}}else{p-next=q2;q1-next=p; } } }
Polyn CreatePolyn(Polyn head,int m) {
文档评论(0)