一元多項式加法運算的實現 swustoj

2021-08-19 03:09:34 字數 1458 閱讀 2934

一元多項式加法運算的實現

10000(ms)

10000(kb)

2093 / 5095

程式設計實現一元多項式的加法運算。(要求用鍊錶實現)

輸入

第乙個一元多項式a; 第二個一元多項式b。 以(0,0)作為輸入結束。
輸出
多項式a和多項式b的和。

樣例輸入

5,3 7,8 9,15 0,0

2,0 6,3 -7,8 0,0

樣例輸出
2x^0+11x^3+9x^15
結構體陣列:

#include#includeusing namespace std;

struct node

a[1005],b[1005];

bool cmp(node a,node b)//排序

}while(cin>>a>>c>>b)//輸入第二組數

}sort(a,a+m,cmp);//排序

sort(b,b+n,cmp);

a=0;b=0;

int flag=0;//記標記表示是第乙個輸入

while(a

else if(a>=m)//當b比a長時

else

else

} else

else if(a[a].y>b[b].y)}}

flag=1;

}return 0;

}

鍊錶:(思路都差不多)
#include#includeusing namespace std;

typedef struct node

sqlist;

void sort(sqlist *l)

r=r->next; 

}s=s->next;}}

int main()

r->next=null;

sort(l_1);

l_2=(sqlist *)malloc(sizeof(sqlist));

l_2->next=null;

r=l_2;

while(cin>>n>>c>>m)

r->next=null;

sort(l_2);

r=l_1->next;

s=l_2->next;

int flag=0;

while(r!=null||s!=null)

else if(s!=null&&r==null)

else if((r->indexindex)&&(r!=null&&s!=null))

else if((r->index>s->index)&&(r!=null&&s!=null))

else if((r->index==s->index)&&(r!=null&&s!=null))

if(s->coef+r->coef==0) } 

flag=1;

}return 0;

}

polynomial 一元多項式加法實現

polynomial 一元多項式加法實現 include stdio.h include malloc.h include stdlib.h typedef struct lnodelink,linklist linklist initlist link makenode linklist crea...

一元多項式運算

一 實驗目的 1.熟練掌握c c 語言中指標的操作。2.掌握鍊錶的常用演算法。二 問題描述 一元多項式可以表示為線性表,相應地一元多項式的運算可以用線性表的基本運算來實現。本實驗要求以煉表為儲存結構,設計乙個一元多項式運算器,實現一元多項式的建立 銷毀 複製 列印顯示 四則運算等功能。三 實驗內容 ...

一元多項式的乘法與加法運算

設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。...