-
大小: 2KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-10
- 語言: 其他
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??課程設(shè)計(jì)??計(jì)算器??
資源簡介
設(shè)計(jì)一個(gè)一元多項(xiàng)式的計(jì)算器,功能包括
(1)輸入并建立多項(xiàng)式(一個(gè)多項(xiàng)式最多不超過20項(xiàng)),可以從文件中讀取相關(guān)數(shù)據(jù);
(2)輸出多項(xiàng)式,輸出形式可以是圖形方式,也可以是文本方式;
(3)實(shí)現(xiàn)兩個(gè)多項(xiàng)式相加,并輸出和多項(xiàng)式;
(4)實(shí)現(xiàn)兩個(gè)多項(xiàng)式相減,并輸出差多項(xiàng)式;
(5)實(shí)現(xiàn)兩個(gè)多項(xiàng)式相乘,并輸出乘積多項(xiàng)式;
(6)計(jì)算并輸出多項(xiàng)式在指定x處的值。
(7)對多項(xiàng)式求導(dǎo)
代碼片段和文件信息
//頭文件
#include
#include
#include
//定義多項(xiàng)式的項(xiàng)
typedef?struct?Polynomial{
float?coef;
int?expn;
struct?Polynomial?*next;
}*PolynPolynomial;
void?Insert(Polyn?pPolyn?h){?
if(p->coef==0)?free(p);//系數(shù)為0的話釋放結(jié)點(diǎn)
else
{
Polyn?q1q2;
q1=h;
q2=h->next;
while(q2&&p->expnexpn)
{//查找插入位置
q1=q2;
q2=q2->next;
}
if(q2&&p->expn==q2->expn)
{//將指數(shù)相同相合并
q2->coef+=p->coef;
free(p);
if(!q2->coef)
{//系數(shù)為0的話釋放結(jié)點(diǎn)
q1->next=q2->next;
free(q2);
}
}
else
{//指數(shù)為新時(shí)將結(jié)點(diǎn)插入
p->next=q2;
q1->next=p;
}
}
}
Polyn?CreatePolyn(Polyn?headint?m){
//建立一個(gè)頭指針為head、項(xiàng)數(shù)為m的一元多項(xiàng)式
int?i;
Polyn?p;
p=head=(Polyn)malloc(sizeof(struct?Polynomial));
head->next=NULL;
for(i=0;i {
p=(Polyn)malloc(sizeof(struct?Polynomial));//建立新結(jié)點(diǎn)以接收數(shù)據(jù)
printf(“請輸入第%d項(xiàng)的系數(shù)與
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????6146??2010-09-08?16:24??一元多項(xiàng)式計(jì)算器\一元多項(xiàng)式計(jì)算器.cpp
?????目錄??????????0??2010-09-08?16:31??一元多項(xiàng)式計(jì)算器
-----------?---------??----------?-----??----
?????????????????6146????????????????????2
評論
共有 條評論