帮托帮个忙看看我的程序哪错了(很急就这两天要)
一元多项式加(减)法计算(加、减法可任选其一)[问题描述] 设计一个一元多项式简单的加(减)法计算器。
[基本要求] 一元多项式简单的加(减)法计算器的基本功能为:
(1)输入并建立多项式;
(2)输出多项式;
(3)两个多项式相加(减),并建立输出多项式。
[实现提示] 可选择带头结点的单向循环链表或单向链表存储多项式。
#include "stdio.h"
#define NULL 0
struct num
{int n;
float x;
struct num *next;
};
main()
{struct num *head=NULL,*p1;
int a;
float b;
scanf("%d",&a);
scanf("%f",&b);
while(a!=-1)
{p1=(struct num *)malloc(sizeof(struct num));
p1->n=a;
p1->x=b;
p1->next=head;
head=p1;
scanf("%d",&a);
scanf("%f",&b);
}
scanf("%d",&a);
scanf("%f",&b);
while(a!=-1)
{if(a>head->n)
{p1->n=a;
p1->x=b;
p1->next=head;}
while(p1->n!=a)
{p1=p1->next;
p1->x=p1->x+b;}
scanf("%d",&a);
scanf("%f",&b);
}
p1=head;
while(p1!=NULL)
{printf("%f",p1->x);
printf("x");
printf("%d",p1->n);
printf("+");} }