一元多项式相加问题的实验报告 联系客服

发布时间 : 星期三 文章一元多项式相加问题的实验报告更新完毕开始阅读0931d44c964bcf84b9d57bd5

p=p->next; r->next=w; r=w; w=q; q=q->next; delete w;

即将x的值赋给p的系数域,之后将结点p赋给w,然后将p结点后移,指向a中下一个待处理结点,然后将w移动到新生成链表c的尾结点的后面,最后将w赋给r,使得r仍指向链表c的尾结点。同时,将q的内存空间释放,并使得q指向b中下一个待处理结点。 当x为0时,采取如下操作: w=p;

p=p->next; delete w; w=q; q=q->next; delete w;

即将pq的空间释放,并分别使其指向各自链表中下一个待处理结点。 ⑷当上面的循环进行完后,至少有一个链表已被遍历完,然后只需将另一个链表剩余的所有结点都移动到c中即可。

if(p!=NULL) {

while(p)

}

{ } w=p; p=p->next; r->next=w; r=w;

if(q!=NULL) { }

while(q) { } w=q; q=q->next; r->next=w; r=w;

⑸最后将c中的最后一个结点的指针域置为空,并返回c的地址。 r->next=NULL;

return c;

4、 主函数功能设计

采用循环的形式可以多次进行两个多项式的初始化和求和。 四、 界面设计

提示用户进行每一步操作以及每一步输出的内容,界面简明清晰。 五、 运行与调试

六、 源代码

#include struct node { float coef; //系数域 int exp; //指数域 struct node *next; };

node *in_fun() { node *p,*a,*q,*r; a=q=NULL; float x; int y; cin>>x>>y; while(x!=0||y!=0) { while(x==0) { cin>>x>>y; if(x==0&&y==0) break; else {continue;} } if(x==0&&y==0) break; p=new node; p->coef=x; p->exp=y; if(a==NULL) a=p; else q->next=p;