| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1023 人关注过本帖
标题:求多项式相加的程序,有点问题!
只看楼主 加入收藏
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:1 
求多项式相加的程序,有点问题!
//多项式的链式存储以及多项式的加法和乘法的实现
#include<stdlib.h>
#include<malloc.h>
#include<stdio.h>
#include<conio.h>
typedef struct node{
int xi; //存储多项式系数
int zi; //存储多项式指数
struct node *next;
}LinkList;
LinkList *CreatList()
{//尾插法建立多项式链表
LinkList *head,*p,*pre;
int fg,tag;
head=(LinkList *)malloc(sizeof(LinkList));
pre=head;
head->next=NULL;
scanf("%d%d",&fg,&tag);
while(fg!=0&&tag!=0)
{
p=(LinkList *)malloc(sizeof(LinkList));
p->xi=fg;
p->zi=tag;
p->next=pre->next;
pre->next=p;
pre=p;
scanf("%d%d",&fg,&tag);
}
if(fg==0&&tag==0)
printf("输入结束\n");
return head;
}

LinkList *AddList(LinkList *a,LinkList *b)
{//多项式的加法
LinkList *c,*pa,*pb,*pc,*r,*s;
float fg;
c=(LinkList *)malloc(sizeof(LinkList));
c->next=NULL;
pa=a->next;
pb=b->next;
pc=c->next;
while(pa&&pb)
{
if(pa->zi<pb->zi)
{
pc=pa;
pa=pa->next;
pc=pc->next;
}
if(pa->zi>pb->zi)
{
pc=pb;
pb=pb->next;
pc=pc->next;
}
if(pa->zi==pb->zi)
{
fg=pa->xi+pb->xi;
if(fg==0)
{
r=pa;s=pb;
pa=pa->next;
pb=pb->next;
free(r);
free(s);
}
else
{
pa->xi=fg;
r=pb;
pc=pa;
pa=pa->next;
pb=pb->next;
pc=pc->next;
free(r);
}
}
}
while(pa)
{
pc=pa;
pa=pa->next;
pc=pc->next;
}
while(pb)
{
pc=pb;
pa=pb->next;
pc=pc->next;
}
return c;
}

void ReadList(LinkList *head)
{//读取链表中的多项式中的各项
LinkList *p;
p=head->next; //指向第一个数据结点
while(p)
{
printf("%dX^%d ",p->xi,p->zi);
p=p->next;
}
printf("\n");
}
void main()
{
LinkList *A,*B,*C;
printf("请输入多项式A中的系数和指数,并按照指数递增的顺序输入以0结束\n");
A=CreatList();
printf("请输入多项式B中的系数和指数,并按照指数递增的顺序输入以0结束\n");
B=CreatList();
printf("A中的数据为:\n");
ReadList(A);
printf("\n");
printf("B中的数据为:\n");
ReadList(B);
printf("\nhere");
C=AddList(A,B); //从这句一下便运行不起来是怎么回事?
printf("C中的数据为:\n");
ReadList(C);
getch();
}



搜索更多相关主题的帖子: 多项式 LinkList head tag include 
2007-09-30 21:37
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
得分:0 

执著的信念,坚定的自信,勤奋的努力才是通向成功的捷径! !!
2007-10-06 15:25
快速回复:求多项式相加的程序,有点问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019714 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved