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

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

ID:10774000

大小:179.50 KB

页数:17页

时间:2018-07-08

数据结构课程设计--一元稀疏多项式计算器_第1页
数据结构课程设计--一元稀疏多项式计算器_第2页
数据结构课程设计--一元稀疏多项式计算器_第3页
数据结构课程设计--一元稀疏多项式计算器_第4页
数据结构课程设计--一元稀疏多项式计算器_第5页
资源描述:

《数据结构课程设计--一元稀疏多项式计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、17数据结构实验报告——一元稀疏多项式计算器安子烨PB12203079实验目的实现一元多项式的简单运算功能,掌握线性表的知识,提高编程能力。功能清单1.一元多项式创建2.显示一元多项式3.复制一元多项式4.多项式加法5.多项式减法6.修改一元多项式7.删除一元多项式8.销毁记录实验设计该多项式计算器以菜单驱动的形式实现上述各运算功能。最多可支持十条记录,分别用指针数组引导存储于十个不同的位置。以下为程序的部分源代码。#include#include#include

2、typedefstructLinkList{doublecoef;intexpn;LinkList*next;}LNode;voidCreatPolyn(LinkList**h)//创建多项式{LinkList*q=NULL,*w=NULL,*p=NULL;17doublem=0;intn=0;(*h)=(LinkList*)malloc(sizeof(LinkList));(*h)->coef=0;(*h)->expn=0;(*h)->next=NULL;printf("请输入X的系数和指数,当系数为零时结束创建

3、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;elseif((*h)->expn>q->expn){q->next=(*h);*h=q;}else(*h)->next=q;}else{for(w=(*h);w->next!=

4、NULL;w=w->next){if(q->expn==w->expn){w->coef+=q->coef;break;}elseif((w->expn>q->expn)&&(w==*h)){q->next=(*h);(*h)=q;break;17}elseif((w->expnexpn)&&(w->next->expn>q->expn)){q->next=w->next;w->next=q;break;}}if(w->next==NULL){if(w->expn==q->expn)w->coef+=q->c

5、oef;elseif(w->expnexpn)w->next=q;}}printf("请输入X的系数和指数,当系数为零时结束创建");scanf("%lf%d",&m,&n);}}voidPrintPolyn(LinkList*p,inti)//打印多项式{printf("第%d个多项式是:",i);while(p!=NULL){if((p->coef)>0)printf("+%lf*X^%d",p->coef,p->expn);elseif((p->coef)<0)printf("%lf*X^%d",p

6、->coef,p->expn);p=p->next;}printf("");17}voidCopyPolyn(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->ne

7、xt){q=(LinkList*)malloc(sizeof(LinkList));q->coef=p->coef;q->expn=p->expn;q->next=p->next;w->next=q;w=w->next;}}voidAddPolyn(LinkList*M,LinkList*N,LinkList**X)//多项式加法{LinkList*p=NULL,*q=NULL,*w=NULL,*z=NULL;(*X)=(LinkList*)malloc(sizeof(LinkList));(*X)->coef=0;

8、(*X)->expn=0;(*X)->next=NULL;for(p=M,q=N,w=(*X);(p!=NULL)&&(q!=NULL);){z=(LinkList*)malloc(sizeof(LinkList));if(p->expnexpn){z->coef=p->coef;z->expn=p->expn;z->next=NULL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。