一元多项式计算-数据结构设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:一元多项式计算

1需求和规格说明.................................................................... 错误!未定义书签。

1.1输入两个一元多项式。............................................... 错误!未定义书签。

1.2两个多项式相加相乘。............................................... 错误!未定义书签。2设计 (1)

2.1设计思想 (1)

2.2设计表示 (2)

2.2.1存储结构 (2)

2.2.2涉及操作 (2)

2.3实现注释 (2)

2.4详细解释 (3)

2.4.1功能示意图 (3)

2.4.2流程示意图 (3)

3用户手册 (4)

4调试报告................................................................................ 错误!未定义书签。5源代码及运行结构截图 (4)

5.1源代码 (4)

5.2运行截图 (10)

6课程设计总结

1需求和规格说明

1.1输入两个一元多项式。

1.2两个多项式相加相乘。

2.设计

2.1设计思想

利用顺序表存储一元多项式的各项系数和指数,进行运算2.2设计表示

2.2.1存储结构

typedef struct node{

int x[100];//系数

} node,*Node;

2.2.2涉及操作

void Creat(Node p,int n)//构造一元多项式

void add(Node a,Node b,Node s)//加

void mul(Node a,Node b,Node s)//乘

void display(Node s)//升幂显示

void display2(Node s)//降幂显示

1.1实现注释

此部分内容详细参见源代码。

1.2详细解释

1.2.1功能示意图

1.2.2流程示意图

3用户手册

输入两个一元多项式。

两个多项式相加相乘。

2源代码及运行结构截图

2.1源代码

#include

using namespace std;

typedef struct node{

int x[100];//系数

} node,*Node;

void Creat(Node p,int n)//构造一元多项式{

int i;

int xs;

int zs;

cout<<"请输入多项式各项系数和指数:";

for(i=0;i

{

cin>>xs>>zs;

p->x[zs]=xs;

}

}

void add(Node a,Node b,Node s)//加{

int i;

for(i=0;i<100;i++)

{

s->x[i]=a->x[i]+b->x[i];

}

}

void mul(Node a,Node b,Node s)//乘{

int i,j;

int sz,sx;

for(i=0;i<100;i++)

{

for(j=0;j<100;j++)

{

sz=a->x[i]+b->x[j];

sx=a->x[i]*b->x[j];

s->x[sz]+=sx;

}

}

}

void display(Node s)//升幂显示

{

cout<<"结果为:(升幂)"<

int i;

for(i=0;i<100;i++)

{

if(s->x[i]!=0)

cout<<"系数:"<x[i]<<" "<<"指数:"<

}

}

void display2(Node s)//降幂显示

{

cout<<"结果为:(降幂)"<

int i;

for(i=99;i>=0;i--)

{

if(s->x[i]!=0)

cout<<"系数:"<x[i]<<" "<<"指数:"<

}

}

int main()

{

Node am,bn,s1,s2;

am=new node();

bn=new node();

s1=new node();

s2=new node();

int a,b,i;

cout<<"请输入两个多项式的项数:"; cin>>a>>b;

for(i=0;i<100;i++)

{

am->x[i]=0;

bn->x[i]=0;

s1->x[i]=0;

s2->x[i]=0;

}

cout<<"多项式一:"<

Creat(am,a);

cout<<"多项式二:"<

Creat(bn,b);

add(am,bn,s1);

相关文档
最新文档