(1)设Pn(x)和Qn(x)分别为两个一元稀疏多项式,利用单链表存储Pn(x)和Qm(x)。
(2)从键盘输入一元多项式的信息,建立一元稀疏多项式Pn(x)和Qm(x),并输出。
(3)实现Pn(x)和Qm(x)相加,并输出两者的和Pn(x)+Qm(x)。
(4)实现Pn(x)和Qm(x)相减,并输出两者的差Pn(x)-Qm(x)。
(5)就地逆置两者的差Pn(x)-Qm(x)。
实验代码:
#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef int Status;
typedef struct test{//定义多项式的存储结构
int xs;
int zs;
struct test *next;
}PolyNode,*PolyList;
PolyList p,q,r;
void createPolyList(PolyList *L){//创建多项式
(*L) = (PolyList)malloc(sizeof(PolyNode));
(*L)->next = NULL;
r=(*L);
int xs,zs;
scanf("%d %d",&xs,&zs);
while(xs!=0){
//生成新节点;
p = (PolyList)malloc(sizeof(PolyNode));
p->next = NULL;
p->xs = xs;
p->zs = zs;
//把新节点已尾接法方式插入链表;
r->next=p; r=p;
scanf("%d %d",&xs,&zs);
}
}
void addPolyList(PolyList la,PolyList lb,PolyList *lc){//多项式加法
PolyList pa,pb,pc;
(*lc) = (PolyList)malloc(

1万+

被折叠的 条评论
为什么被折叠?



