c语言求两个多项式之和算法错误#include #include typedef struct Lnode{float coef; //系数 int expn; //指数struct Lnode *next; }LinkList;LinkList * CreatList(int n) //用n限制循环次数 {LinkList *L,*p,*r;int i;L=(LinkList *)malloc(
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 17:19:36
![c语言求两个多项式之和算法错误#include #include typedef struct Lnode{float coef; //系数 int expn; //指数struct Lnode *next; }LinkList;LinkList * CreatList(int n) //用n限制循环次数 {LinkList *L,*p,*r;int i;L=(LinkList *)malloc(](/uploads/image/z/6838825-49-5.jpg?t=c%E8%AF%AD%E8%A8%80%E6%B1%82%E4%B8%A4%E4%B8%AA%E5%A4%9A%E9%A1%B9%E5%BC%8F%E4%B9%8B%E5%92%8C%E7%AE%97%E6%B3%95%E9%94%99%E8%AF%AF%23include+%23include+typedef+struct+Lnode%7Bfloat+coef%3B+%2F%2F%E7%B3%BB%E6%95%B0+int+expn%3B+%2F%2F%E6%8C%87%E6%95%B0struct+Lnode+%2Anext%3B+%7DLinkList%3BLinkList+%2A+CreatList%28int+n%29+%2F%2F%E7%94%A8n%E9%99%90%E5%88%B6%E5%BE%AA%E7%8E%AF%E6%AC%A1%E6%95%B0+%7BLinkList+%2AL%2C%2Ap%2C%2Ar%3Bint+i%3BL%3D%28LinkList+%2A%29malloc%28)
c语言求两个多项式之和算法错误#include #include typedef struct Lnode{float coef; //系数 int expn; //指数struct Lnode *next; }LinkList;LinkList * CreatList(int n) //用n限制循环次数 {LinkList *L,*p,*r;int i;L=(LinkList *)malloc(
c语言求两个多项式之和算法错误
#include
#include
typedef struct Lnode{
float coef; //系数
int expn; //指数
struct Lnode *next;
}LinkList;
LinkList * CreatList(int n) //用n限制循环次数
{
LinkList *L,*p,*r;
int i;
L=(LinkList *)malloc(sizeof(LinkList));
r=L;
printf("请按指数从小到大输入多项式每项的系数和指数,系数相同并为一项:\n");
for(i=n;i>0;i--)
{
p=(LinkList *)malloc(sizeof(LinkList));
scanf("%f,%d",&(p->coef),&(p->expn));
r->next=p;
r=p;
}
r->next=NULL;
return L;
}
LinkList * And(LinkList * La,LinkList *Lb) //多项式相加
{
LinkList *p,*q,*Lc,*r,*s;
int sum;
p=La->next; q=Lb->next;
Lc=(LinkList *)malloc(sizeof(LinkList)); //创建新链表存储相加后的多项式
r=Lc;
for(p!=NULL)
{
for((q!=NULL)&&(q->expnexpn))
{
if(p->expn==q->expn){
sum=p->coef+q->coef;
s=(LinkList *)malloc(sizeof(LinkList)); //尾插法
s->coef=sum; s->expn=p->expn;
r->next=s;
r=s;
}
else{
s=(LinkList *)malloc(sizeof(LinkList));
s->coef=q->coef; s->expn=q->expn;
r->next=s;
r=s;
}
q=q->next;
}
p=p->next;
}
r->next=NULL;
return Lc;
}
void Print(LinkList *L) //输出多项式
{
LinkList *p=L;
while(p->next!=NULL)
{
printf("%fx^%d ",p->coef,p->expn);
p=p->next;
}
printf("\n");
}
int main(void)
{
LinkList *La,*Lb,*L;
int n;
printf("请存储第一个多项式的项数:");
scanf("%d",&n);
La=CreatList(n);
printf("请存储第二个多项式的项数:");
scanf("%d",&n);
Lb=CreatList(n);
L=And(La,Lb);
Print(La);
system("pause");
return 0;
}
请看函数And(),编译时显示好多错误,我用的是DEV CPP
c语言求两个多项式之和算法错误#include #include typedef struct Lnode{float coef; //系数 int expn; //指数struct Lnode *next; }LinkList;LinkList * CreatList(int n) //用n限制循环次数 {LinkList *L,*p,*r;int i;L=(LinkList *)malloc(
for(p!=NULL)
{
for((q!=NULL)&&(q->expnexpn))
改成
while(p!=NULL)
{
while((q!=NULL)&&(q->expnexpn))