NeQrhk 2015-04-08 04:35 采纳率: 30.6%
浏览 1473
已采纳

多项式加法,不知道哪里有问题,找了很久没找出来,能不帮个忙看下

#include
#include
typedef int ElemType;
typedef struct node{
ElemType exp;
ElemType coef;
struct node next;
}linklist;
//创建空链表,再主函数里输入数值,
void creat(linklist *s)
{
s=(linklist
)malloc(sizeof(linklist));
s->next=NULL;
}
//删除整个链表
void deletelinklist(linklist s)
{
linklist *pre,*p=s->next;
while(p!=NULL)
{
free(pre);
pre=p;
p=p->next;
}
free(pre);
}
//插入某一个结点
void insert(linklist *s,ElemType e1,ElemType e2)
{
linklist *p=NULL,*q=NULL;
q=s;
p=(linklist
)malloc(sizeof(linklist));
p->coef=e1;
p->exp=e2;
p->next=q->next;
q->next=p;
}//删除某一个结点
void deletenode(linklist s,ElemType e1,ElemType e2)
{
linklist *p=s,*q;
q=p->next;
while(p!=NULL && q->coef!=e1 &&q->exp!=e2)
{
p=p->next;
q=q->next;
}
if(q->coef==e1 && q->exp==e2 )
{
p->next=q->next;
free(q);
}
}
//加法
linklist
jiafa(linklist *s1,linklist *s2,linklist *s3)
{
linklist *p=s1,*q=s2,*p3=s3;;

while(p!=NULL&&q!=NULL)
{
if(p->expexp)
{

insert(s3,p->coef,p->exp);
p=p->next;
}
if(p->exp>q->exp)
{
insert(s3,q->coef,q->exp);
q=q->next;
}
if(p->exp==q->exp)
{
if(p->coef+q->coef==0)
{
p=p->next;
q=q->next;
}
else
{
p->coef=p->coef+q->coef;
insert(s3,p->coef,p->exp);
p=p->next;
q=q->next;
}
}
}
return s3;
}
void print(linklist *s)
{
linklist *p=s;
while(p!=NULL)
{
printf("%d %d",p->coef,p->exp);
p=p->next;
}
}
int main()
{
linklist s1,s2,*s3=NULL;
int n,t,i;
scanf("%d",&n);
creat(&s1);
creat(&s2);
creat(s3);
for(i=0;i {
while((t=scanf("%d%d",&s1.coef,&s1.exp))==2 && s1.exp>=0 )
{
insert (&s1,s1.coef,s1.exp);
}

while((t=scanf("%d%d",&s2.coef,&s2.exp))==2 &&  s2.exp>=0 )
{
  insert (&s2,s2.coef,s2.exp);
}

s3=jiafa(&s1,&s2,s3);
 print(s3);

}
return 0;

}

  • 写回答

4条回答 默认 最新

  • stateOfBullshit 2015-04-08 05:17
    关注

    先不看函数,只看结构体定义的话,po主没有贴错?
    struct node next;

    如果定义链表的话,这个next应该是个指针?po主现在相当于在node结构体里无限嵌套定义了node结构体。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误