⑴ 輸入並建立多項式;
⑵ 輸出多項式,輸出形式為整數序列:n,c1,e1,c2,e2……cn,en,其中n是多項式的項數,ci,ei分別為第i項的係數和指數。所有輸出都按指數降序排列。
⑶ 多項式a和b相加,建立多項式a+b,輸出相加的多項式;
⑷ 多項式a和b相減,建立多項式a-b,輸出相減的多項式;
⑸ 多項式a和b相乘,建立多項式a×b,輸出相乘的多項式;
⑹ 設計乙個選單,至少具有上述操作要求的基本功能。
⑴ 輸入並建立有序多項式
每輸入一項(c,e),將其插入到多項式鍊錶的合適位置,在插入時:
*有同類項(指數相同):係數相加(或者不插入,顯示已存在該項的提示)
* 沒有同類項(指數不相同):直接插入
當輸入和插入完成後,所建立的多項式鍊錶是按指數大小有序的。
⑵ 多項式a和b相加/相減
① 將多項式a的每一項(c,e),將其插入到和/差多項式鍊錶的合適位置;
② 將多項式b的每一項(c,e),根據其指數e找到在和/差多項式鍊錶的正確位置,在插入時:
*有同類項(指數相同):係數相加/相減
*沒有同類項(指數不相同):直接插入
當多項式b的所有項插入完成後,所建立的多項式鍊錶是按指數大小有序的。(類似於集合的並操作)
⑶ 多項式a和b相乘
對於多項式a的每一項(ca,ea)和多項式b的每一項(cb,eb),將積項(ca×cb,ea+eb)插入到積多項式鍊錶的合適位置,在插入時中:
*有同類項(指數相同):係數相加
*沒有同類項(指數不相同):直接插入
當所有的積項(ca×cb,ea+eb)插入完成後,所建立的多項式鍊錶是按指數大小有序的。
#include
#include
#include
typedef
struct nodednode;
// 輸出多項式
void
display
(dnode *l)
printf
("\n");
}else
printf
("無資料!\n");
}//插入
void
add_dnode_item
(dnode *l,
float c,
int e,
int k)
/* 將項(c,e)以k的方式插入到以l為頭指標的一元多項式鍊錶中 */
/* 插入後的一元多項式鍊錶是按指數從小到大有序 */
if(p ==
null
)/* 已到鍊錶最後,開闢新結點,插入到最後 */
else
if(p->flag == e)
/* 有同類項 */
else p->data = x;
/* 合併後係數不為0,修改係數 */
}else
/* 沒有同類項 ,開闢新結點,直接插入 */
}//多項式l1與l2對應項相乘得到l3
void
multiplication
(dnode *l1, dnode *l2)
p2 = p2->next;
} p1 = p1->next;
}printf
("相乘後");
display
(l3);}
//多項式l1與l2對應項相減得到l3
void
subtract
(dnode *l1, dnode *l2)
while
(p2 !=
null
)printf
("相減後");
display
(l3);}
//多項式l1與l2對應項相加得到l3
void
polyoadd
(dnode *l1, dnode *l2)
while
(p2 !=
null
)printf
("相加後");
display
(l3);}
//選單2
void
function_select2
(dnode *l1, dnode *l2)
break
;case3:
multiplication
(l1, l2)
;getchar()
;break
;default
:printf()
;getchar()
;break;}
}}void
main()
while
(c !=0)
;printf
("成功建立多項式a\n");
display
(la)
;printf
("建立多項式b輸入的第乙個數為係數,第二個數為指數,以0 0結束迴圈:\n");
dowhile
(c !=0)
;printf
("成功建立多項式b\n");
display
(lb)
;getchar()
;function_select2
(la, lb)
;}
一元稀疏多項式的運算
1.問題描述 設有兩個帶頭指標的單鏈表表示兩個一元稀疏多項式a b,實現兩個一元稀疏多項式的處理。2.實現要求 1 輸入並建立多項式 最好通過檔案輸入,多項式最好不少於3項 2 輸出多項式,輸出形式為整數序列 n,c1,e1,c2,ez cn,en,其中n是多項式的項數,ci,e 分別為第i項的係數...
一元稀疏多項式加減
一元稀疏多項式加減 include include include define ok 1 define error 0 typedef int status typedef struct pnodepnode,polynomial 建立乙個多項式鍊錶 status creatpolynnomial...
一元多項式運算
一 實驗目的 1.熟練掌握c c 語言中指標的操作。2.掌握鍊錶的常用演算法。二 問題描述 一元多項式可以表示為線性表,相應地一元多項式的運算可以用線性表的基本運算來實現。本實驗要求以煉表為儲存結構,設計乙個一元多項式運算器,實現一元多項式的建立 銷毀 複製 列印顯示 四則運算等功能。三 實驗內容 ...