c语言错误提示 系数为1,请问一下,这个程序那个地方有错误。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

# include

# include typedef struct node

{

float xishu;

int zhishu;

int flag;

struct node *next;

}Lnode; Lnode *input() //输入指数和系数,并创建链表

//Lnode *input(void)

{

Lnode *headp=NULL;

Lnode *p=NULL;

//Lnode *q=NULL,*headq=NULL;

p=(Lnode *)malloc(sizeof(Lnode));

headp=p;

printf("请按照“系数,指数”的形式输入每一个子项!\n");

printf("系数和指数同时为0时输入结束!\n");

do

{

scanf("%f,%d",&p->xishu,&p->zhishu);

p->flag=0;

p->next=(Lnode *)malloc(sizeof(Lnode));

p=p->next;

p->next=NULL;

}while((p->xishu!=0)&&(p->zhishu!=0)); /*q=(Lnode *)malloc(sizeof(struct node));

headq=q;

printf("请输入第二个多项式,按照“系数,指数”的形式输入每一个子项!\n");

printf("系数和指数同时为0时输入结束!\n");

do

{

scanf("%f,%d",&q->xishu,&q->zhishu);

q->flag=0;

q->next=(Lnode *)malloc(sizeof(struct node));

q=q->next;

q->next=NULL;

}while((q->xishu!=0)&&(q->zhishu!=0))*/

return headp;

} Lnode *add(Lnode *p,Lnode *q)

{

Lnode *r=NULL,*headr=NULL;

r=(Lnode *)malloc(sizeof(struct node));

headr=r;

while((p->next!=NULL)&&(q->next!=NULL))

{

if(p->zhishu==q->zhishu)

{

r->xishu=p->xishu+q->xishu;

r->zhishu=p->zhishu;

r->flag=p->flag=q->flag=1;

r->next=NULL;

}

else if(p->zhishu>q->zhishu)

{

r->xishu=p->xishu;

r->zhishu=p->zhishu;

r->flag=p->flag=1;

r->next=NULL;

}

else

{

r->xishu=q->xishu;

r->zhishu=q->zhishu;

r->flag=q->flag=1;

r->next=NULL;

} p=p->next;

q=q->next;

r->next=(Lnode *)malloc(sizeof(struct node));

r=r->next;

r->next=NULL;

} return headr;

} void print(Lnode *r)

{

while(r!=NULL)

{

printf("%fX^%d+",r->xishu,r->zhishu);

r=r->next;

}

printf("\b");

} int main()

{

Lnode *p,*q,*sum;

printf("请输入第一个多项式:\n");

p=input;

printf("请输入第二个多项式:\n");

q=input;

sum=add(p,q);

printf("两个多项式的和为:");

print(sum);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值