电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

西安石油大学数据结构数据结构程序设计报告--设计一个一元稀疏多项式简单计算器和集合的并,交和差运算VIP免费

西安石油大学数据结构数据结构程序设计报告--设计一个一元稀疏多项式简单计算器和集合的并,交和差运算_第1页
1/18
西安石油大学数据结构数据结构程序设计报告--设计一个一元稀疏多项式简单计算器和集合的并,交和差运算_第2页
2/18
西安石油大学数据结构数据结构程序设计报告--设计一个一元稀疏多项式简单计算器和集合的并,交和差运算_第3页
3/18
数据结构课程设计题目一:设计一个一元稀疏多项式简单计算器题目二:集合的并,交和差运算班级:计1101姓名:张文江学期:2012-2013学年第二学期上机实验报告(一)一、题目:设计一元稀疏多项式简单计数器二、问题描述:(1)定义两个单链表用于存储两个多项式,存储好在输出时按指数降序输出。(2)按指数降序排列时要注意指数的比较以及指数相同与不同时的计算方法。(3)设计出其运算的加、减函数。(4)再设计一个释放空间的函数用于退出系统操作。(5)设计一个测试主函数,实现对基于顺序队列结构的一元多项式算法的测试。(6)为了界面显示友好期间可以设计一下输出后的界面格式。三、基本要求:(1)输入并建立多项式,输出多项式,序列按指数降序排列;(2)多项式a和b相加,建立多项式a+b,输出相加的多项式;(3)多项式a和b相减,建立多项式a-b,输出相减的多项式;(4)用带头结点的单链表存储多项式。四、测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2)(6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)五、算法思想:利用单链表来存储多项式,因此这里需要创建两个单链表分别用于存储多项式a和b,然后逐项在链表中按指数降序排列插入;利用数学中的加法方法,比较两个多项式,利用指数进行比较,进行减法计算方法时利用加法的逆运算实现,最后将输入的多项式按不同的要求提示进行函数调用实现。六、模块划分:头文件为:#include#include//结点结构体typedefstructPolyNode{floatcoef;//系数域intexp;//指数域structPolyNode*next;//指针域}*Poly,PolyNode;//1、按指数降序插入多项式voidInsert(Polyp,Polyh)//2、创建多项式(带有头结点且有m项)PolyCreate(Polyhead,intm)//3、对两个多项式进行比较判别//4、实现多项式相加//5、实现多项式相减(思想:兩数相减=两个正数的相反数相减)//6、输出多项式voidPrint(PolyP)//7、销毁多项式(使用完后用于退出,释放空间)测试主intmain(){intm,n,flag=0;Polypa=0,pb=0,pc,pd;//输出菜单printf("**************************************************************************\n");printf("1.输入多项式2.输出多项式a和b3.建立多项式a+b4.建立多项式a-b5.退出程序\n");printf("**************************************************************************\n");for(;;flag=0){printf("执行操作为:");scanf("%d",&flag);if(flag==1){//定义各式的头指针,pa与pb在使用前付初值NULLprintf("请输入a的项数:");scanf("%d",&m);pa=CreateList(pa,m);//建立多项式aprintf("请输入b的项数:");scanf("%d",&n);pb=CreateList(pb,n);//建立多项式b}if(flag==2){printf("多项式a为:");OutputList(pa);printf("多项式b为:");OutputList(pb);continue;}if(flag==3){pc=AddPoly(pa,pb);printf("多项式a+b为:");OutputList(pc);DestroyList(pc);continue;}if(flag==4){pd=SubtractPoly(pa,pb);printf("多项式a-b为:");OutputList(pd);DestroyList(pd);continue;}if(flag==5)break;if(flag<1||flag>5)printf("输入错误!!!请重新选择!!\n");continue;}DestroyList(pa);DestroyList(pb);return0;}函数:七、源程序:intmain(){intm,n,flag=0;Polypa=0,pb=0,pc,pd;//输出菜单printf("**************************************************************************\n");printf("1.输入多项式2.输出多项式a和b3.建立多项式a+b4.建立多项式a-b5.退出程序\n");printf("**************************************************************************\n");for(;;flag=0){printf("执行操作为:");scanf("%d",&flag);if(flag==1){//定义各式的头指针,pa与pb在使用前付初值NULLprintf("请输入a的项数:");scanf("%d",&m);pa=CreateList(pa,m);//建立多项式aprintf("请输入b的项数:");scanf("%d",&n);pb=CreateList(pb,n);//建立多项式b}if(flag==2){printf("多项式a为:");OutputList(pa);printf("多项式b为:");OutputList(pb);continue;}if(flag==3){pc=AddPoly(pa,pb);printf("多项式a+b为:"...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

西安石油大学数据结构数据结构程序设计报告--设计一个一元稀疏多项式简单计算器和集合的并,交和差运算

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部