算法与数据结构实验1.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法与数据结构实验1

福建农林大学实验报告 系(教研室): 计算机 专业: 年级: 实验课程: 姓名: 学号: 实验室号:_ 计算机号: 实验时间: 指导教师签字: 成绩: 实验一:完成一元多项式的相加相乘运算(验证性、4学时) 实验目的和要求 完成多项式的相加、相乘运算。 (1)掌握线性表的插入、删除、查找等基本操作设计与实现 (2)学习利用线性表提供的接口去求解实际问题 (3)熟悉线性表的的存储方法 实验内容和原理 1.实验内容 设计一个一元多项式的简单计算程序,其基本功能有:(1)输入并建立多项式;(2)输出多项式;(3)多项式的相加相乘运算。利用单链表实现。 2.实验原理 使用单链表实现一元多项式的存储,并实现两个一元多项式的加法乘法运算。 实验环境 硬件:(1)学生用微机(2)多媒体教室或远程教学(3)局域网环境 软件:(1)Windows XP中文操作系统 (2)Turbo C 3.0或者VC6.0 算法描述及实验步骤 1、描述 1.定义创建链表的函数,然后创建链表,用于存放结果。 2.定义多项式相加的函数实现多项式的相加功能。 3.定义打印链表和释放链表的函数。 4.最后在主函数里面调用这些函数,实现多项式的相加相乘。 例:(1)A(X)= 9x+3X2 B(X)= 2X2 (2)A(X)= 2x +6X2+6X3 B(X)= 2X2 (1)执行加法操作,输出“相加后的结果为9x+5X2” 执行乘法操作,输出“相加后的结果为18X3+6X4” (2)执行加法操作,输出“相加后的结果为2x+8X2+6X3” 执行乘法操作,输出“相加后的结果为4X3+12X4+12X5” 2、算法流程图 3、代码(注释) #includeiostream #includemalloc.h using namespace std; struct Node { float coef;//结点类型 int exp; }; typedef Node polynomial; struct LNode { polynomial data;//链表类型 LNode *next; }; typedef LNode* Link; void CreateLink(Link L,int n); void PrintList(Link L); void PolyAdd(Link pc,Link pa,Link pb); void CopyLink(Link pc,Link pa); void PolyMultiply(Link pc,Link pa,Link pb); int JudgeIfExpSame(Link pa,Link e); void DestroyLink(Link L); int CompareIfNum(int i); void DestroyLink(Link L) { Link p; p=L-next; while(p) { L-next=p-next; delete p; p=L-next; } delete L; L=NULL; } //创建含有n个链表类型结点的项,即创建一个n项多项式 void CreateLink(Link L,int n) { if(L!=NULL) { DestroyLink(L); } Link p,newp; L=new LNode; L-next=NULL; (L-data).exp=-1;//创建头结点 p=L; for(int i=1;i=n;i++) { newp=new LNode; cout请输入第i项的系数和指数:endl; cout系数:; cin(newp-data).coef; cout指数:; cin(newp-data).exp; if(newp-data.exp0) { cout您输入有误,指数不允许为负值!endl; delete newp; i--; continue; } newp-next=NULL; p=L; if(newp-data.coef==0) { cout系数为零,重新输入!endl; delete newp; i--; contin

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档