数据结构课程设计_两个一元稀疏多项式相加

C语言_两个一元稀疏多项式相加

1.课程设计的目的

本课程设计是为了配合《数据结构》课程的开设,通过数据结构的应用、算法的编写、类C语言的算法转换成C程序并用TC上机调试的基本方法,设计出一个对两个一元稀疏多项式进行相加,然后输入结果的程序。程序所能达到的功能:输入两个一元稀疏多项式,能够输出相加后的值。

2设计基本要求

1.项数的输入形式和输入值的范围:int, -3276832767 的整数.

2.项的输入的格式和输入值的范围:输入格式为:coef,expn

                               输入值范围:-3276832767 的整数.

  3.输出的形式:n, c1, e1, c2, e2, cn , en, 其中,n是多项式项数,ciei分别是第 i 项的系数和指数,序列按指数降序排列.

4. 输入两个一元稀疏多项式,能够输出相加后的值

3.概要设计

3.1主程序的流程

(1)输入第一个一元稀疏多项式.

(2)输入第二个一元稀疏多项式.

(3)对两个一元稀疏多项式进行相加.

(4)输出两个一元稀疏多项式相加后的结果.

3.2程序模块

(1)项数的结构体Term

(2)建立一元稀疏多项式函数 CreatPloy(void).

(3)对两个一元稀疏多项式相加函数AddPolyn(&Pa,&Pb).

(4)输出相加后值的函数PrintPloyn(P).

 

     

课程设计说明书                 NO.2

3.3各模块之间的调用关系

(1)主函数调用Term结构体

(2)调用两次GreatPloy函数建立一元稀疏多项式

(2)调用AddPolyn函数,对两个多项式进行相加

(3)调用PrintPloyn函数,输出结果

4.详细设计

4.1程序流程图

(1)主函数流程图

输入第一个一元稀疏多项式. CreatPloy(void)

输入第二个一元稀疏多项式. CreatPloy(void)

对两个一元稀疏多项式进行相加. AddPolyn(&Pa,&Pb)

输出两个一元稀疏多项式相加后的结果. PrintPloyn(P)

(2)GreatPloy函数流程图

 输入项数n

 head=p1=p2=(struct term*)malloc(LEN);

 输入第一项的系数和指数 coef expn

i=2 to i=n ;i++

p1=(struct term*)malloc(LEN);

 

scanf("%d,%d",&p1->coef,&p1->expn);

p1->next=NULL;p2->next=p1;p2=p2->next;

return head

 

                                                            课程设计说明书                 NO.3

(3) PrintPloyn函数流程图

int m=0;

while(p!=NULL)

 

 

 

m++;

printf("c%d=%d,e%d=%d\n",m,p->coef,m,p->expn);

p=p->next;

printf("number=%d\n",m);

 

(4) AddPolyn函数流程图

int n=0;struct term *p3,*head;

while(p1!=NULL&&p2!=NULL)

n=n+1;

 

n==1

比较p1p2所指结点指数

建立头结点 head

比较p1p2所指结点指数

把指数大的结点连入head

p1p2剩下的结点连入head

返回head

4.2抽象数据类型定义

ADT Polynomial{

数据对象:D={ai|aiTermSet,i=1,2,,m,m0

TermSet中的每个元素包含一个表示系数的实数和表示指数的整数}

数据关系:R1={<ai-1,ai>|ai-1,aiD,且ai-1中的指数值>ai中的指数值,i=2,,n}

CreatPloy(void)107

[1] [2] [3] [4] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有