《数据结构课程设计》报告---一元稀疏多项式计算器.docVIP

《数据结构课程设计》报告---一元稀疏多项式计算器.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构课程设计》报告---一元稀疏多项式计算器

《数据结构课程设计》报告 一元稀疏多项式计算器 班级: 软件1408 学号:31 姓名: 齐瑞征 指导老师: 石锋 [问题描述] 设计简单的一个一元稀疏多项式计算器。 [基本要求] 一元稀疏多项式简单计算器的基本功能是: 输入并建立多项式,以带头结点的单链表存储; 输出多项式,输出形式为整数序列:n,c1,e1, c2,e2,,,,,,, cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; 多项式a和b相乘,建立多项式a*b; [数据结构设计] 在模拟多项式时,为了简化处理,只取最核心的两个数据:多项式的系数和指数,具体数据结构定义如下: typedef struct node{ int xs; /*系数*/ int zs; /*指数*/ struct node * next; /*next指针*/ }Dnode,* Dnodelist; [功能函数设计] (1)链表初始化函数Creat_node() (2)多项式数据的输入函数input() (3)数据的插入函数Insert_node() (4)多项式的显示函数output() (6)多项式的运算函数:新建链表存储计算后的多项式 多项式相乘Mulresult() 多项式相加Addresult() 多项式相减Subresult() (7)主函数main() 创建两个多项式的链表并且初始化,分别调用相应的多项式创建函数,创建成功后选择运算方式,再将运算结果输出显示。 【实现过程】 1、在D:根目录下建立文件夹,命名方式为“班级”+“顺序号(两位)+“姓名”,例如你是商务1419班的,你在学生花名册上的顺序号是05号,你的姓名是张有才,则文件夹的名 字是“商务张有才”。这个文件夹就是你的工作文件夹。 在VC中创建c++源程序,命名为“poly.c”,保存在工作文件夹中; 3、在poly.c中输入以下内容并编译,使没有语法错误: #includestdio.h #includestdlib.h typedef struct node{ int xs; int zs; struct node * next; }Dnode,* Dnodelist; /*定义结构体*/ Dnodelist Creat_node(void) /*链表初始化*/ { Dnodelist D; D=(Dnodelist)malloc(sizeof(Dnode)); if(D) D-next=NULL; return D; } 4、回答问题,以上程序中,Creat_node(void)函数的功能是什么? 答:创建链表里面的一个节点。 5、在poly.c中完成如下函数,并编译。 int Insert_node(Dnodelist D,int xs,int zs) /*插入函数*/ { Dnodelist p; Dnodelist q; Dnodelist r; p=D; while(p-next) { r=p; p=p-next; if(zs==p-zs) { p-xs=p-xs+xs; return 1; } else if(zsp-zs) { q=Creat_node(); q-xs=xs; q-zs=zs; r-next=q; q-next=p; return 1; } }/*while(p-next)*/ q=Creat_node(); q-xs=xs; q-zs=zs; q-next=p-next; p-next=q; return 1; free(p); free(q); free(r); } 函数功能:将一项合并到多项式中。 参数说明: D:一个带头结点的单链表的头指针,其中按指数降序存放一个一元多项式的数据; xs:要合并的项的系数; zs:要合并的项的指数。 6、在poly.c中完成如下函数,并编译。 void output(Dnodelist D){ Dnodelist r; r=D-next; printf(%dx^%d,r-xs,r-zs); r=r-next; while(r!=NULL)

文档评论(0)

a888118a + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档