91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 206KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-16
  • 語言: 其他
  • 標(biāo)簽:

資源簡介

用數(shù)據(jù)結(jié)構(gòu)鏈表的知識實現(xiàn)多項式的加法,減法,乘法運算。包括相關(guān)源代碼和設(shè)計報告。

資源截圖

代碼片段和文件信息

#include
#include
#define?OK?1
typedef?struct?PNode?????//定義多項式的鏈式存儲結(jié)構(gòu)
{
????int?coef;
int?exp;
struct?PNode?*next;
}PNode*linkList;
typedef?int?Status;



//多項式的輸入構(gòu)建:
void?creatPolyn(linkList?&L)
{
linkList?pq;
int?ce;
????q=L;
printf(“請輸入多項式的各項系數(shù)和指數(shù)以100000結(jié)束(輸完數(shù)據(jù)后按回車再輸入兩個100000):\n“);
do???????????????????//用do...while循環(huán)實現(xiàn)用戶對多項式的輸入,用戶輸入數(shù)據(jù)完畢后敲回車再輸入兩個100000即可
{
scanf(“%d%d“&c&e);
if(c!=100000)
{
p=(linkList)malloc(sizeof(PNode));
????p->coef=c;
p->exp=e;
???? q->next=p;
???? q=p;
}
}while(c!=100000);
p->next=NULL;
}


//將多項式各項按指數(shù)從高到底排列:
void?Sort(linkList?&L)
{
linkList?pq;
int?ij;
for(p=L->next;p->next!=NULL;p=p->next)???//雙重循環(huán)實現(xiàn)按指數(shù)由高到低排序:外層用于每次修改ij對應(yīng)的值,為下次循環(huán)做準備
{
i=p->coef;
j=p->exp;
for(q=p->next;q!=NULL;q=q->next)??????//內(nèi)層循環(huán)每次找出指數(shù)最大的項
{
if(q->exp>j)
{
i=q->coef;
j=q->exp;
}
}
if(p->exp!=j)??????????????????????????//如果指數(shù)最大項的指數(shù)和當(dāng)前項的指數(shù)不等,則將二者的值互換
{
for(q=p->next;q->exp!=j;q=q->next);
q->coef=p->coef;
q->exp=p->exp;
p->coef=i;
p->exp=j;
}
}
}


//合并多項式中的同類項,如果合并后系數(shù)為0刪除此節(jié)點(基于多項式是有序的合并算法):
void?Unite(linkList?&L)
{
linkList?pq;
p=L->next;
q=p->next;
while(q)
{
if(p->exp==q->exp)????????????????//若為同類項則系數(shù)相加,指針指向指數(shù)相同項的下一項(p->next=q->next)??????????????
{
p->coef=p->coef+q->coef;
p->next=q->next;
q=q->next;
}
else???????????????????????????//不是同類項則只需指針后移
{
p=p->next;
q=q->next;
}
}
}


//用于輸出剛建立的多項式:
Status?Print1(linkList?&L)
{
linkList?pq;
int?n=0;
printf(“\n“);
printf(“您輸入的多項式的總項數(shù)為n=“);
for(p=L->next;p!=NULL;p=p->next)
n++;
printf(“%d“n);
printf(“\n“);
printf(“多項式建立完成,您輸入的多項式為:\n“);
q=L->next;
????printf(“%dx^%d“q->coefq->exp);??????????????//實現(xiàn)輸出剛建立的多項式的第一項
????for(p=q->next;p!=NULL;p=p->next)??????????????//實現(xiàn)輸出剛建立的多項式的第二道最后一項
{
printf(“+“);
printf(“%dx^%d“p->coefp->exp);
}
printf(“\n“);
return?OK;
}


//用于輸出計算完成后的多項式
Status?Print2(linkList?&L)
{
linkList?pq;
int?n=0;
printf(“******************運算完成,計算結(jié)果為*******************:\n“);
printf(“\n“);
printf(“您的多項式運算結(jié)果的總項數(shù)為n=“);
for(p=L->next;p!=NULL;p=p->next)
n++;
printf(“%d“n);
printf(“\n“);
q=L->next;
????printf(“%dx^%d“q->coefq->exp);?????????????//實現(xiàn)輸出計算出的多項式的第一項
????for(p=q->next;p!=NULL;p=p->next)????????????//實現(xiàn)輸出計算出的多項式的第二道最后一項
{
printf(“+“);
printf(“%dx^%d“p->coefp->exp);
}
printf(“\n“);
return?OK;
}


//將建立好的兩個多項式鏈表拷貝到一個鏈表中:為調(diào)用Sort和Unite函數(shù)實現(xiàn)加法運算做準備
linkList?AddPolyn(linkList?pa?linkList?pb)
{
linkList?p1p2presb1;
p1=pa;b1=pb->next;
p=(linkList)malloc(sizeof(PNode));
p2=res=p;
while?(p1->next!=NULL)???????????//將建立好的第一個多項式拷貝到p中
{
p2->coef=p1->coef;
p2->exp=p1->exp;
p1=p1->next;
p=(linkList)malloc(sizeof(PNode));
p2->next=p;
p2=p2->next;
}
p2->coef=p1->coef;
p2->exp=p1->exp;
p=(linkList)malloc(sizeof(PNode));
p2->next=p;
p2=

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????376320??2010-06-20?21:48??多項式計算\多項式計算\數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計報告.doc

?????文件???????9502??2010-06-17?17:01??多項式計算\多項式計算\數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計源代碼.cpp

?????文件??????43008??2010-06-20?21:46??多項式計算\多項式計算\課程設(shè)計任務(wù)書.doc

?????目錄??????????0??2011-02-21?22:43??多項式計算\多項式計算

?????目錄??????????0??2011-02-21?22:43??多項式計算

-----------?---------??----------?-----??----

???????????????428830????????????????????5


評論

共有 條評論