数据结构课程设计题目 数据结构与算法课程设计报告(五篇)_第1页
数据结构课程设计题目 数据结构与算法课程设计报告(五篇)_第2页
数据结构课程设计题目 数据结构与算法课程设计报告(五篇)_第3页
数据结构课程设计题目 数据结构与算法课程设计报告(五篇)_第4页
数据结构课程设计题目 数据结构与算法课程设计报告(五篇)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——数据结构课程设计题目数据结构与算法课程设计报告(五篇)在当下社会,接触并使用报告的人越来越多,不同的报告内容同样也是不同的。报告对于我们的帮助很大,所以我们要好好写一篇报告。下面是我为大家整理的报告范文,仅供参考,大家一起来看看吧。

#includeexpn)//查找插入位置expn)return-1;</b-elsereturn0;

}

elseif(!ab)return-1;//a多项式已空,但b多项式非空

elsereturn1;//b多项式已空,但a多项式非空}//求解并建立多项式a+b,返回其头指针polynadd(polynpa,polynpb){

polynqa=pa-next;

polynqb=pb-next;

polynheadc,hc,qc;

hc=(polyn)malloc(sizeof(structpolynomial));//建立头结点11

hc-next=null;

headc=hc;

while(qa||qb){

qc=(polyn)malloc(sizeof(structpolynomial));

switch(compare(qa,qb))

{

case1:

qc-coef=qa-coef;

qc-expn=qa-expn;

qa=qa-next;

break;

case0:

qc-coef=qa-coef+qb-coef;

qc-expn=qa-expn;

qa=qa-next;

qb=qb-next;

break;

case-1:

qc-coef=qb-coef;

qc-expn=qb-expn;

qb=qb-next;

break;12

}

if(qc-coef!=0)

{

qc-next=hc-next;

hc-next=qc;

hc=qc;

}

elsefree(qc);//当相加系数为0时,释放该结点

}

returnheadc;}//求解并建立多项式a-b,返回其头指针polynsubtract(polynpa,polynpb){

polynh=pb;

polynp=pb-next;

polynpd;

while(p)//将pb的系数取反

{p-coef*=-1;p=p-next;}

pd=add(pa,h);

for(p=h-next;p;p=p-next)

//恢复pb的系数

p-coef*=-1;13

returnpd;}//求解并建立多项式a*b,返回其头指针polynmultiply(polynpa,polynpb){

polynhf,pf;

polynqa=pa-next;

polynqb=pb-next;

hf=(polyn)malloc(sizeof(structpolynomial));//建立头结点

hf-next=null;

for(;qa;qa=qa-next)

{

for(qb=pb-next;qb;qb=qb-next)

{

pf=(polyn)malloc(sizeof(structpolynomial));

pf-coef=qa-coef*qb-coef;

pf-expn=qa-expn+qb-expn;

insert(pf,hf);//调用insert函数以合并指数一致的项

}

}

returnhf;}

//求解并建立多项式a/b,返回其头指针voiddevice(polynpa,polynpb){

polynhf,pf,temp1,temp2;

polynqa=pa-next;

polynqb=pb-next;

hf=(polyn)malloc(sizeof(structpolynomial));//建立头结点,存储商

hf-next=null;

pf=(polyn)malloc(sizeof(structpolynomial));//建立头结点,存储余数

pf-next=null;

temp1=(polyn)malloc(sizeof(structpolynomial));

temp1-next=null;

temp2=(polyn)malloc(sizeof(structpolynomial));

temp2-next=null;

temp1=add(temp1,pa);

while(qa!=nullqa-expn=qb-expn)

{

temp2-next=(polyn)malloc(sizeof(structpolynomial));

temp2-next-coef=(qa-coef)/(qb-coef);

temp2-next-expn=(qa-expn)-(qb-expn);

insert(temp2-next,hf);

pa=subtract(pa,multiply(pb,temp2));15

qa=pa-next;

temp2-next=null;

}

pf=subtract(temp1,multiply(hf,pb));

pb=temp1;

printf(“商是:〞);

print(hf);

printf(“余数是:〞);

print(pf);}voidmain(){intchoose=1;intm,n,flag=0;system(“colore0〞);polynpa=0,pb=0,pc,pd,pf;//定义各式的头指针,pa与pb在使用前付初值nullprintf(“请输入a(x)的项数:〞);scanf(“%d〞,m);printf(“n〞);pa=create(pa,m);//建立多项式aprintf(“n〞);printf(“请输入b(x)的项数:〞);16

scanf(“%d〞,n);printf(“n〞);pb=create(pb,n);//建立多项式bprintf(“n〞);printf(“**********************************************n〞);printf(“*

多项式操作菜单

printf(〞**********************************************n“);printf(〞tt1.输出操作n“);printf(〞tt2.加法操作n“);printf(〞tt3.减法操作n“);printf(〞tt4.乘法操作n“);printf(〞tt5.除法操作n“);printf(〞tt6.退出操作n“);printf(〞**********************************************n“);while(choose){

printf(〞执行操作:“);

scanf(〞%d“,flag);

switch(flag)

{

case1:

printf(〞多项式a(x):“);print(pa);*n〞);

printf(“多项式b(x):〞);print(pb);

break;

case2:

pc=add(pa,pb);

printf(“多项式a(x)+b(x):〞);print(pc);

destroy(pc);break;

case3:

pd=subtract(pa,pb);

printf(“多项式a(x)-b(x):〞);print(pd);

destroy(pd);break;

case4:

pf=multiply(pa,pb);

printf(“多项式a(x)*b(x):〞);

print(pf);

destroy(pf);

break;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论