鍊錶之兩個多項式相加

2021-07-11 01:13:42 字數 1606 閱讀 9855

//this code is to calculate two main polynomial addition

// created by liuyao in 2016.

#include

#include

typedef struct polynode

polynode, *polylist;

int initlist(polylist *l);//初始化

int creatfromtail(polylist l);//頭插法建立鍊錶

int display(polylist l);//顯示相加前的

void add(polylist pa, polylist pb);//相加

void display2(polylist l);//顯示相加後的

int main(void)

if (b ==

1)

printf("please input the coef and exp:(pa)\n");

b = creatfromtail(pa);

if (b ==-1)

b = display(pa);

b = initlist(&pb);

if (b ==-1)

if (b ==

1)

printf("please input the coef and exp:(pb)\n");

b = creatfromtail(pb);

if (b ==-1)

b = display(pb);

add(pa, pb);

display2(pa);

getchar();

getchar();

return0;}

int initlist(polylist *l)

int creatfromtail(polylist l)

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

if (p ==

null)

p->coef = a;

p->exp = b;

q->next = p;

q = p;

}q->next =

null;//注意

return1;}

int display(polylist l)

return1;}

void add(polylist pa, polylist pb)

/*規則二:將p2節點加入到和多項式中*/

if (p2->exp < p1->exp)

/*規則三:如果兩個多項式指數相等,則將相應的係數相加*/

if (p1->exp == p2->exp)

/*係數和為0,則刪除p1節點和p2節點,並將指標後移*/

else}}

/*如果多項式p1中的節點還有剩餘,則將剩餘的節點加入到和多項式中*/

if (p1 !=

null)

//否則將多項式p2中的節點加入到和多項式中

else

}void display2(polylist l)

}

兩個多項式相加!

以下是本人用單鏈表所編寫的兩個多項式相加的程式,不知為何在turboc2.0上執行總有兩個errors,而且都是 declaration syntax error 還請業內高手指導!謝謝!include math.h include stdio.h typedef struct node polyn...

兩個多項式相加

每組有兩行,每行由若干空格隔開的整數構成,以回車標誌結束。每行第乙個數表示本行有幾項,每一項由兩個整數表示,第1個整數表示係數,第2個整數表示次數。include includetypedef struct node node struct node creatnode int coe,int ex...

兩個多項式相加 C

實現兩個多項式進行相加 不開闢空間 這要求實現進行相加,代價為兩個原煉表將被修改 分析 this other 就把other當前結點放置在this之前 this this other 求和為0就刪除,並全部前移一位,不等就刪除other中的當前結點並前移 注意 必須注意 n 作為始終指向 mhead...