- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计(一元稀疏多项式计算器).doc
实习报告:1.5题 一元稀疏多项式计算器
题目:设计一个一元稀疏多项式简单计算器
班级:计科一班 姓名:康宇 学号 完成日期:2013.4.15
一、需求分析
1、一元稀疏多项式简单计算器的功能是:
1) 输入并建立多项式;
2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,………cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;
3) 多项式a和b相加,建立多项式a+b;
4) 多项式a和b相减,建立多项式a-b。
5) 计算多项式在x处的值;
6) 求多项式a、b的导函数;
2、测试数据:
1、(2x+5x^8-3.1x^11)+(7-5x^8+11x^9)=(-3.1x^11+11x^9+2x+7);
2、(6x^-3-x+4.4x^2-1.2x^9+1.2x^9)-(-6x^-3+5.4x^2-x^2+7.8x^15)
=(-7.8x^15-1.2x^9+12x^-3-x);
3、(1+x+x^2+x^3+x^4+x^5)+(-x^3-x^4)=(1+x+x^2+x^5);
4、(x+x^3)+(-x-x^3)=0;
5、(x+x^100)+(x^100+x^200)=(x+2x^100+x^200);
6、(x+x^2+x^3)+0=x+x^2+x^3.
二、概要设计
为实现上述程序功能,应以有序链表来表示多项式的系数和指数。定义线性表的动态分配顺序存储结构;建立多项式存储结构,定义指针*next利用链表实现队列的构造。每次输入一项的系数和指数,可以输出构造的一元多项式
演示程序以用户和计算机的对话方式执行,即在计算机终站上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运行命令;最后根据相应的输入数据(滤去输入中的非法字符)建立的多项式以及多项式相加的运行结果在屏幕上显示。
1、元素类型、结点类型和指针类型:
typedef struct LNode
{
float xishu; //系数
int zhishu; //指数
struct LNode *next;
} LNode,*Linklist;
2、建立两个全局链表指针,
Linklist List1=NULL;
Linklist List2=NULL;
用来存放两个多项式,然后在main()函数里调用输入函数。
3、本程序包括7个模块
1)主程序:
Void main()
{
While(1)
{
输出菜单;
接受命令;
处理命令;
If(命令==退出)
则程序退出;
}
释放链表;}
2)输入函数:
Void Input()
{
调用插值函数In(List1)处理链表一;
调用插值函数In(List2)处理链表二;
}
3)输出函数:
Void Output()
{
调用输值函数Out(List1)处理链表一;
调用输值函数Out(List2)处理链表一;}
4)相加函数:
Void Add()
{
if(List1节点指数 List2节点指数)
输出List1节点;
指针后移;
else if(List1节点指数 List2节点指数)
输出List2节点;
指针后移;
else
输出两节点相加后的值;
两链表指针都后移;
if(链表1到头)
输出链表2剩余的节点;
else(即链表二到头)
输出链表1剩余的节点;}
5)相减函数:
Void Sub()
{
if(List1节点指数 List2节点指数)
输出List1节点;
指针后移;
else if(List1节点指数 List2节点指数)
输出List2节点;(系数要取负再输出)
指针后移;
Else
两链表指针都后移;
if(链表1到头)
输出链表2剩余的节点;
else(即链表二到头)
输出链表1剩余的节点;}
6)求值函数:
void Calc() {
输入x的值;
依次调用链表一的节点,求出单项式的值相加后输出;
}
7)求导函数:
void Daohansh
您可能关注的文档
- 手把手教结构设计.doc
- 执业医师考试-针灸学真题.doc
- 执业医师考试培训-病例分析.ppt
- 执业医师考试辅导-病例分析.ppt
- 执业医师预测试题.doc
- 执行难的成因分析及对策探讨探讨与研究.doc
- 扩展型博弈和策略型博弈.ppt
- 扩展语句的类型及其对策.doc
- 扩频通信系统抗多径干扰能力分析.doc
- 找准司法考试复习节奏.doc
- 智能化教学平台对小学数学问题解决能力培养的影响研究教学研究课题报告.docx
- 焦距800mm牛顿望远镜观测仙女座星系观测报告教学研究课题报告.docx
- 《智能家电生产系统中的大数据分析与预测模型研究》教学研究课题报告.docx
- 智能教育平台在初中历史学科中的应用:培养学生数字素养的实践与反思教学研究课题报告.docx
- 高中语文课堂非正式评价在提高学生文学鉴赏能力中的应用研究教学研究课题报告.docx
- 信息素养视域下初中信息技术课程教学评价体系构建研究教学研究课题报告.docx
- 9 《BIM 技术在建筑项目全生命周期项目管理中的项目管理经济研究》教学研究课题报告.docx
- 生成式AI在促进区域间教育资源共享与教研协作中的应用研究教学研究课题报告.docx
- 《BIM技术对建筑施工进度管理流程的优化与创新研究》教学研究课题报告.docx
- 《主题活动在幼儿园幼儿社会交往能力发展中的创新实践研究》教学研究课题报告.docx
文档评论(0)