数据结构课程设计一元稀多项式计算器.docVIP

  • 6
  • 0
  • 约8.51千字
  • 约 17页
  • 2018-06-15 发布于福建
  • 举报

数据结构课程设计一元稀多项式计算器.doc

数据结构课程设计一元稀多项式计算器

数据结构实验报告 ——一元稀疏多项式计算器 安子烨 P实验目的 实现一元多项式的简单运算功能,掌握线性表的知识,提高编程能力。 功能清单 一元多项式创建 显示一元多项式 复制一元多项式 多项式加法 多项式减法 修改一元多项式 删除一元多项式 销毁记录 实验设计 该多项式计算器以菜单驱动的形式实现上述各运算功能。最多可支持十条记录,分别用指针数组引导存储于十个不同的位置。以下为程序的部分源代码。 #includestdio.h #includemath.h #includestdlib.h typedef struct LinkList{ double coef; int expn; LinkList *next; }LNode; void CreatPolyn(LinkList **h)//创建多项式 { LinkList *q=NULL, *w=NULL, *p=NULL; double m=0; int n=0; (*h)=(LinkList *)malloc(sizeof(LinkList)); (*h)-coef=0; (*h)-expn=0; (*h)-next=NULL; printf(请输入X的系数和指数,当系数为零时结束创建\n); scanf(%lf%d,m,n); while(m!=0) { q=(LinkList *)malloc(sizeof(LinkList)); q-coef=m; q-expn=n; q-next=NULL; if((*h)-next==NULL) { if(q-expn==(*h)-expn) (*h)-coef+=q-coef; else if((*h)-expnq-expn) {q-next=(*h); *h=q; } else (*h)-next=q; } else { for(w=(*h);w-next!=NULL;w=w-next) { if(q-expn==w-expn) { w-coef+=q-coef; break; } else if((w-expnq-expn)(w==*h)) { q-next=(*h); (*h)=q; break; } else if((w-expnq-expn)(w-next-expnq-expn)) { q-next=w-next; w-next=q; break; } } if(w-next==NULL) { if(w-expn==q-expn) w-coef+=q-coef; else if(w-expnq-expn) w-next=q; } } printf(请输入X的系数和指数,当系数为零时结束创建\n); scanf(%lf%d,m,n); } } void PrintPolyn(LinkList *p, int i)//打印多项式 { printf(第%d个多项式是:,i); while(p!=NULL) { if((p-coef)0) printf(+%lf*X^%d,p-coef,p-expn); else if((p-coef)0) printf(%lf*X^%d,p-coef,p-expn); p=p-next; } printf(\n); } void CopyPolyn(LinkList **M, LinkList **N)//多项式复制 { LinkList *p=NULL, *q=NULL, *w=NULL; (*N)=(LinkList *)malloc(sizeof(LinkList)); (*N)-coef=(*M)-coef; (*N)-expn=(*M)-expn; (*N)-next=NULL; for(w=(*N),p=(*M)-next;p!=NULL;p=p-next) { q=(LinkList *)malloc(sizeof(LinkList)); q-coef=p

文档评论(0)

1亿VIP精品文档

相关文档