数据结构多项式求和

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

数据结构与算法

上机实验报告(一)

上机实验题目:一元多项式的表示及相加

专业班级:信息与计算科学1401班

姓名:邢鑫锋学号:140701211 设计室:理学院机房

上机时间: 2015-11-10 上机学时: 4学时

指导教师:杜洪波成绩:

一.实验目的:

1、进一步熟练掌握应用链表处理实际问题的能力

2、

二.实验内容:

1、一元多项式相加是通过键盘输入两个形如 P0+P1X1+P2X2+。。。+PnXn 的多项式,经过程序运算后在屏幕上输出它们的相加和。

2、

3、

三、程序及注释:

#include

#include

#include

typedef struct Node

{

int Data;

Node* next;

}SLNode;

void listInt(SLNode **T)

{if((*T=(SLNode*)malloc(sizeof(SLNode)))==NULL) exit(1);

(*T)->next=NULL;

}

void Create(SLNode *T,int n)

{

SLNode *p;

int i;

p=T;

for(i=0;i

{

SLNode *q=(SLNode*)malloc(sizeof(SLNode));

p->next=q;

printf("请输入链表数据\n");

scanf("%d",&q->Data);

p=q;

}

}

void Addtion(SLNode*T,SLNode*B,SLNode*C,int n) {

int i;

SLNode *p;

p=C;

for(i=0;i

{

SLNode *q=(SLNode*)malloc(sizeof(SLNode));

p->next=q;

T=T->next;

B=B->next;

q->Data=T->Data+B->Data;

p=q;

}

}

int main()

{

int j=0;

SLNode*T;SLNode*B;SLNode*C;

listInt(&T);

listInt(&B);

listInt(&C);

int n;

printf("请输入相加多项式的最大阶数\n");

scanf("%d",&n);

printf("请建立第一个多项式\n");

Create( T, n);

printf("请建立第二个多项式\n");

Create( B, n);

Addtion(T, B, C, n);

for(;j

{if(j!=n-1)

{ C=C->next;

printf("%d*x^%d+",C->Data,n-j);

}

else

{ C=C->next;

printf("%d*x^%d\n",C->Data,1);

}

}

return 0;

}

四.运行结果:

五.实验心得:

备注:页码不够可多加页码!

相关文档
最新文档