首页 > 编程知识 正文

一元多项式环的定义,一元多项式的通用性质

时间:2023-05-06 16:17:49 阅读:189876 作者:4482

一元多项式

功能:求1 .的一元多项式之和

求.的一元多项式之差

w3 .打印一元多项式

注:3本来不是功能,但我发现打印一元多项式时问题很多。 例如,336099 Come Come Everybody 1x应该打印在上,而0不应该打印

1 .节点定义

typedefstructpolynomialintcoef; int expn; struct Polynomial *next; }Polynomial;多项式的制作(尾插法) ) )。

Polynomial *Create_List (){int coef; int expn; Polynomial *pHead; phead=(polynomial* ) malloc (sizeof ) polynomial ); 头部next=null; //重要的Polynomial *pnew=NULL; Polynomial *rear=NULL; 读头; printf (请输入'数字的coef和expn); scanf (“%%”、coef和expn ); wile(Coef!=0) pnew=(polynomial* ) malloc ) sizeof ) polynomial ); new99 Come Come Everybody coef=coef; new99 Come Come Everybody expn=expn; new99 Come Come Everybody next=读next; 读next=pnew; rear=pnew; scanf (“%%”、coef和expn ); }printf (创建完成! (); return pHead; ) w3 .多项式的总和

polynomial * pbaddpolyn (polynomial * pa,Polynomial *pb ) polynomial * Pb (polynomial * ) malloc ) sizeof ) polynomial ) //头节点pc99 Come Come Everybody next=null; polynomial * QA=pa99 Come Come Everybody next; polynomial * QB=B- next; Polynomial *qc=NULL; //新节点while(QA!=空QB!=NULL () QC=(polynomial* ) malloc (sizeof ) polynomial ); qa99 Come Come Everybody高速高速缓冲存储器(qa99 ) qc99 Come Come Everybody coef=qa99 Come Come Everybody coef; qc99 Come Come Everybody expn=qa99 Come Come Everybody expn; QA=qa99 Come Come Everybody下一步; } else if (qa99 Come Come Everybody expn QBexpn ) ) qc99 Come Come Everybody coef=B-coef; qc99 Come Come Everybody expn=qc99 Come Come Everybody expn; QC=qc99 Come Come Everybody下一步; } elseqc99 Come Come Everybody coef=qa99 Come Come Everybody coef q B- coef; qc99 Come Come Everybody expn=qa99 Come Come Everybody expn; QA=qa99 Come Come Everybody下一步; qb=qb-next; (if ) qc99 Come Come Everybody coef!=null }qc99 Come Come Everybody next=pc99 Come Come Everybody next; pc99 Come Come Everybody next=QC; pc=qc; (elsefree ) QC; }while(QA!=NULL () QC=(polynomial* ) malloc (sizeof ) polynomial ); qc99 Come Come Everybody coef=qa99 Come Come Everybody coef; qc99 Come Come Everybody expn=qa99 Come Come Everybody expn; qc99 Come Come Everybody next=pc99 Come Come Everybody next; pc99 Come Come Everybody next=QC; pc=qc; QA=qa99 Come Come Everybody下一步; }while(QB!=NULL () QC=(polynomial* ) malloc (sizeof ) polynomial ); qc99 Come Come Everybody coef=B-coef; qc99 Come Come Everybody expn=B-expn; qc99 Come Come Everybody next=pc99 Come Come Everybody next; pc99 Come Come Everybody next=QC; pc=qc; qb=qb-next; }return chead; }设计构想:

1 .当QA和qb的节点都不为空时,将节点qx的expn较小的节点分配给qc,用终端插头法将qc连接到pc上;

在相等的情况下,qa和qb进行运算,将结果分配给qc,用终端插头法将qc连接到pc上

. QA为空时,将pb内未被扫描的节点逐个复制后连接在pc的后面

w3.QA为空时,逐个复制pb内未被扫描的节点并连接在pc的后面

! 求多项式的差

polynomial * sub polyn (polynomial * pa,Polynomial *pb ){Polynomial *headc=NULL; polynomial *=B- next; !=null (p99 Come Come Everybody coef=p99 Come Come Everybody coef * (1 ); =p99 Come Come Everybody next; }headc=addPolyn(pa,pb ); =B- next; !=null (p99 Come Come Everybody coef=p99 Come Come Everybody coef * (1 ); =p99 Come Come Everybody next; }return headc; }设计构想:

1 .为了实现多项式PCPb,多项式Pb的各项的系数* 1;

.调用加法函数

w3 .恢复多项式pb,将多项式pb的各项的系数*为1

5 .打印多项式

说明:我原以为这是一个简单的打印函数,但花了最长的时间。 请参阅。 请参阅。 请参阅。 请参阅。 请参阅。 请参阅。 因为想的事情有点多

int print列表(polynomial * phead ) polynomial *=pheadnext; 输入标志=0; if (==空){printf '链表为空! (); 返回0; !=null(if )标志!=0p99 Come Come Everybody coef0) putchar (' ); 九九九九Come Come Everybody coef!=1p99 Come Come Everybody coef!=1 )打印(%)、p99 Come Come Everybody coef; if (p99 Come Come Everybody expn==1)积分('); else if (p99 Come Come Everybody expn )打印(百分比)、p99 Come Come Everybody expn ); 非//0 ) elseif (p99 Come Come Everybody coef==1) if (! p99 Come Come Everybody expn ) putchar('1); //0 else if (p99 Come Come Everybody expn=1) putchar (“”); else printf (百分比)、p99 Come Come Everybody expn ); (if ) p99 Come Come Everybody coef==1 ) if (! p99 Come Come Everybody expn )打印(1 ); else if (p99 Come Come Everybody expn==1)打印)); else printf (%)、p99 Come Come Everybody expn ); }=p99 Come Come Everybody next; flag=1; }打印(); 返回1; }设计构想:

1 .首先区分是否打印多项式的前几个。 因为多项式的前几为整数时不应该打印“”号,其馀的应该打印“”号

.其次,因为应该分为三种情况

1 .多项式的系数不是1;

.多项式的系数不是1

w3 .多项式的系数不是1

必须根据以上三种情况研究多项式的指数是否为0;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。