《北京理工大学数据结构编程练习答案》.docx

《北京理工大学数据结构编程练习答案》.docx

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

1.一元多项式相加(10分) 成绩: 10 / 折扣: 0.8 题目说明: 编写一元多项式加法运算程序。要求用线性链表存储一元多项式(参照课本)。该程序有以下几个功能: 1. 多项式求和 输入:输入三个多项式,建立三个多项式链表Pa、Pb、Pc (提示:调用CreatePolyn(polynomial P,int m)。 输出:显示三个输入多项式Pa、Pb、Pc、和多项式Pa+Pb、多项式Pa+Pb+Pc (提示:调用AddPolyn(polynomial Pa, polynomial Pb), 调用PrintPolyn(polynomial P))。 0. 退出 输入: 根据所选功能的不同,输入格式要求如下所示(第一个数据是功能选择编号,参见测试用例): 1 多项式A包含的项数,以指数递增的顺序输入多项式A各项的系数(整数)、指数(整数) 多项式B包含的项数,以指数递增的顺序输入多项式B各项的系数(整数)、指数(整数) 多项式C包含的项数,以指数递增的顺序输入多项式C各项的系数(整数)、指数(整数) 0 ---操作终止,退出。 输出: 对应一组输入,输出一次操作的结果(参见测试用例)。 1 多项式输出格式:以指数递增的顺序输出: 系数,指数,系数,指数,系数,指数,参见测试用例。零多项式的输出格式为0,0 0 无输出 #includeiostream #includestdlib.h using std::cin; using std::cout; using std::endl; struct date { int a; int b; struct date* pnext; }; typedef struct date DATE; typedef struct date* PDATE; void output(PDATE p) { int f=0; p=p-pnext; while(p!=NULL) { if(p-a!=0) { f=1; coutp-a,p-b; if(p-pnext==NULL) coutendl; else cout,; } p=p-pnext; } if(f==0) cout0,0endl; } void add(PDATE a,PDATE b,PDATE c) { PDATE p1,p2,p3; p1=a; p2=b; p3=c; if(p1!=NULL) p1=p1-pnext; //skip head if(p2!=NULL) p2=p2-pnext; while((p1!=NULL)(p2!=NULL)) { if(p1-bp2-b) { p3-pnext=(PDATE)malloc(sizeof(DATE)); p3=p3-pnext; p3-a=p2-a; p3-b=p2-b; p3-pnext=NULL; p2=p2-pnext; } else if(p1-bp2-b) { p3-pnext=(PDATE)malloc(sizeof(DATE)); p3=p3-pnext; p3-a=p1-a; p3-b=p1-b; p3-pnext=NULL; p1=p1-pnext; } else { p3-pnext=(PDATE)malloc(sizeof(DATE)); p3=p3-pnext; p3-a=p1-a+p2-a; p3-b=p1-b; p3-pnext=NULL; p1=p1-pnext; p2=p2-pnext; } }//end while if(p1==NULL) p3-pnext=p2; if(p2==NULL) p3-pnext=p1; } int main() { int flag; int n; PDATE P[6]={NULL}; PDATE p=NULL; for(int i=0;i6;i++) { P[i]=(PDATE)malloc(sizeof(DATE)); P[i]-a=0; P[i]-b=0; P[i]-pnext=NULL; } cinflag; if(flag==1) { for(int i=1;i4;i++) { p=P[i]; cinn; while(n--!=0) { p-pnext=(PDATE)malloc(sizeof(DATE)); p=p-pnext; c

文档评论(0)

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

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

1亿VIP精品文档

相关文档