兩個多項式相加運算用c語言

2021-05-02 22:07:02 字數 2845 閱讀 9889

1樓:匿名使用者

#include

#include

#define null 0

typedef struct node

listnode,*list;

list createlist()

else

if(curr!=null && curr->expo == p->expo)

//插入結點,結點非首

if(prev != null)

//插入結點,結點為首

else

}printf("want to create a new node?y/n\n");

fflush(stdin);

scanf("%c",&ch);

}return head;

}list add(list head1,list head2)else if(ptr1->expo < ptr2->expo)else

if(head==null)

else

}while(ptr1 != null)

ptr1 = ptr1->next;

}while(ptr2 != null)

ptr2 = ptr2->next;

}return head;

}void display(list head)printf("\n");

}int main(int argc, char* argv)

2樓:淦海瑤

這個問題比較簡單了,用連結串列的話,建立一個結構體,三個元素,一個float型,一個int型,一個結構體指標

建立連結串列很簡單,固定格式

兩個連結串列合併更簡單,吧第二個連結串列的head直接賦值給第一個連結串列的最後哪個節點就可以

排序,用哪個int型做比較,交換節點的指標就可以做到輸出更簡單,固定格式,用指標,一路下去就可以,這個節點的哪個指標賦值給輸出的指標,一路下去就可以,當指標成為null結束

資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算

資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算,怎麼做?

資料結構c語言 用單連結串列儲存一元多項式,並實現兩個多項式的相加運算(語法沒有錯誤)可能指標錯了

3樓:無淚

裡面的演算法有點問題!

我依照你的演算法,補充了一下程式!裡面新編寫了一個函式void copylist(linklist * a,linklist *b) ;

同時做了一點修改!也許,程式的可讀性不好,你可以自己再修改!**如下:

#include

#include

#define max 20 //多項式最多項數

typedef struct elemtype;

typedef struct lnode

linklist;

r->next=null; }/*

將一個連結串列的部分或全部結點複製到另一個連結串列中,

a是新連結串列的最後一個結點,b是被複制連結串列的某一結點

即讓要複製的結點加到新連結串列的尾部*/

void copylist(linklist * a,linklist *b) //

last->next=null; //新連結串列尾結點中next指標的值設為null,即新連結串列建立完成

銷燬連結串列

free(pre);

} void displist(linklist *l)

printf("\n");

}

}/*下面其他兩種情況的處理都是同一個道理,

在比較過程中,只要其中一個連結串列的所有結點都遍歷了,

此時只需要將另一個連結串列的剩餘結點都加到p3中,就可以完成連結串列的合併

*/else if ((p->data.exp) == (q->data.exp))

if (q->next != null)

q = q->next;

else

}else

}}/*在建立連結串列過程中,指標p3的值一直在改變,因此在完成合並連結串列後必須使p3指向頭結點*/

p3=head;

}void bubblesort(elemtype st,int n)}}

void main()

, , , , };

elemtype st2 = , , , , };

bubblesort(st1, num1);

bubblesort(st2, num2);

createlistr(l1, st1, num1);

createlistr(l2, st2, num2);

displist(l1);

displist(l2);

add(l1, l2, l3);

displist(l3);

destroylist(l1);

destroylist(l2);

destroylist(l3);}

小黃做一道題「已知兩個多項式A,B,計算A B

a b 9x 復2 2x 7,已制知b x bai2 3x 2,則 duzhia 9x 2 2x 7 x 2 3x 2 8x 2 5x 9 則a b 8x 2 5x 9 x 2 3x 2 7x 2 8x 11 即a b是dao7x的平方 8x 11 所以a b 9x的平方 2x 7 x的平方 3x ...

c語言程式設計將兩個一維陣列中的數對應相加並在陣列中儲存

include using namespace std void main include include include void main for i 0 i 10 i puts for i 0 i 10 i puts for i 0 i 10 i puts include void main ...

急C語言判定兩個值相等,C語言中判斷兩個陣列內容是否相同!

二元一次方程的兩根如果相等,b 2 4ac的值為零 只要將這兩個值作為函式引數傳入,返回b 2 4ac的值,然後判斷函式返回值是否為零即可 應試教育已經向大學發展了?啊 按位運算子貌似可以。int g int greater int l int less int e int equal int a ...