【問題描述】**:設計乙個一元稀疏多項式簡單計算器。
【基本要求】
一元稀疏多項式簡單計算器的基本功能是:
輸入並建立多項式;
輸出多項式,輸出形式為整數序列:n,c1,e
1,c2,e
2,…,c
n,en,其中n是多項式的項數,ci,e
i分別是第i項的係數和指數,序列按指數降序排列;
多項式a和b相加,建立多項式a+b;
【測試資料】
(2x+5x
8-3.1x
11)+(7-5x
8+11x
9)=(-3.1x
11+11x
9+2x+7);
(1+x+x2+x
3+x4+x
5)+(-x3-x
4)=(1+x+x2+x
5);(x+x
3)+(-x-x
3)=0;
(x+x
100)+(x
100+x
200)=(x+2x
100+x
200);
(x+x2+x
3)+0=(x+x2+x
3);互換上述測試資料中的前後兩個多項式
。
#includeusing namespace std;
#define max 20 //多項式最多項數
typedef struct //定義存放多項式的陣列型別
polyarray[max];
typedef struct pnode //定義單鏈表結點型別
polynode;
void disppoly(polynode *l) //輸出多項式
if(p->coef!=1)
} p=p->next;
i++;
} if(i==0)
cout << 0;
cout << endl;
}void createlistr(polynode * &l,polyarray a,int n)//尾插入法建表
r->next=null;//將終端結點next域置為null
}void sort(polynode * &head)//按exp域的值遞減排序 }}
void add(polynode *ha,polynode *hb,polynode *&hc)//求兩個有序表的並
else if(pa->expexp)
else
pa=pa->next;
pb=pb->next;
} }if(pb!=null)//複製餘下結點
pa=pb;
while(pa!=null)
tc->next=null;
}int main()
鍊錶實現一元多項式相加
c 鍊錶實現一元多項式相加 如下 輸入多項式按次數從高到低排列 include include using namespace std intmain 定義節點型別,coe表示x前的係數,order表示x的次數 int coe,order int i int nodenuma 多項式a的項數 pri...
鍊錶實現一元多項式的相加
如下 include include struct polynomial 結構體的定義 void print polynomial l printf n int getlength polynomial l return i void newlist polynomial l l head retu...
2 一元多項式相加
成績 10開啟時間 2014年10月19日 sunday 00 00 折扣0.8 折扣時間 2014年11月2日 sunday 23 55 允許遲交 否關閉時間 2014年11月9日 sunday 23 55 編寫一元多項式加法運算程式。要求用線性鍊錶儲存一元多項式 參照課本 該程式有以下幾個功能 ...