- 22
- 0
- 约 95页
- 2017-08-31 发布于重庆
- 举报
北京理工大学数据结构编程练习答案
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.husing 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;elsecout,;}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 headif(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 whileif(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;cinp-ap-b;p-pnext=NULL;}output(P[i]);}}add(P[1],P[2],P[4]);output(P[4]);add(P[4],P[3],P[5]);output(P[5]);}0 约瑟夫问题(10分)成绩: 10 / 折扣: 0.80 约瑟夫问题??成绩10分? 折扣0.8??????? ????? (本题要求用循环链表实现)?????? ????? 0 ,1, 2, 3题,只能选做三题.约瑟夫问题是一个经典的问题。已知n个人(不妨分别以编号1,2,3,…,n 代表)围坐在一张圆桌周围,从编号为 k 的人开始,从1开始顺时针报数1, 2, 3, ...,顺时针数到m 的那个人,
原创力文档

文档评论(0)