文档介绍:这个程序实现对以个多项式的各种操作,包括:从控制台读入多项式,检查多项式的合法性,多项式的存储与输出显示,多项式的加法,减法,乘法,除法。完成多项式技术后,将其运用到多项式的扩展欧几里得算法中,实现对两个多项式寻找到使u(x)f(x)+v(x)g(x)=1成立的v(x),u(x);以下是多项式程序。#include<iostream>usingnamespacestd;#defineMaxDXS200structDXS{intn;doublexi[MaxDXS+1];};intmax(inta,intb){if(a>b)returna;returnb;}intcheck(DXS&a){while(>0&&[]==0)--;return0;}intshow(DXSa)//findaprobleminshow;{if([]==1){if(==0)cout<<1;}elseif([]==-1)cout<<"-";elsecout<<[];if(>1)cout<<"X^"<<;if(==1)cout<<"X";for(inti=-1;i>=0;i--){if([i]>0){if([i]!=1)cout<<'+'<<[i];elseif(i==0)cout<<"+1";elsecout<<'+';if(i>1)cout<<"X^"<<i;if(i==1)cout<<"X";}elseif([i]<0){if([i]!=-1)cout<<[i];elseif(i==0)cout<<-1;elsecout<<'-';if(i>1)cout<<"X^"<<i;if(i==1)cout<<"X";}}return0;}boolGetDXS(DXS&a){chars[MaxDXS*10];DXStmp={NULL};cin>>s;charlst='[';doublexi=0;intzhi=0;inti=0;intlen=strlen(s);s[len]='+',s[len+1]='\0';while(s[i]!='\0'){if(s[i]>='0'&&s[i]<='9'){doublenum=0,t=1;boolisdot=false;while(s[i]>='0'&&s[i]<='9'||s[i]=='.'){if(s[i]=='.'){if(isdot){cout<<"小数点输入错误!"<<endl;returnfalse;}else{isdot=true;t=1;}}else{if(isdot)t*=;num=num*10+(s[i]-'0');}num=num*t;i++;}if(lst=='+'||lst=='[')xi=num;//xielseif(lst=='-'||lst=='[')xi=-num;//-xielseif(lst=='^')//zhi{if(isdot){cout<<"多项式的指数必须是正整数!"<<endl;returnfalse;}zhi=int(num);if(zhi>=100){cout<<"你的多项式输入次数太大了!"<<endl;returnfalse;}}else{cout<<"你的输入有问题!"<<endl;returnfalse;}i--;}elseif(s[i]=='x'||s[i]=='X'){if(lst=='+'||lst=='[')xi=1;elseif(lst=='-')xi=-1;elseif(lst>='0'&&lst<='9'){}else{cout<<"你的输入有误!"<<endl;returnfalse;}}elseif(s[i]=='^'){if(lst=='x'||lst=='X'){}else{cout<<"输入出错!"<<endl;returnfalse;}}elseif(s[i]=='+'||s[i]=='-'){if(lst>='0'&&lst<='9'||lst=='['||lst=='x'||lst=='X'){if(lst>='0'&&lst<='9'){[zhi]+=xi;}elseif(lst=='x'||lst=='X'){zhi=1;[zhi]+=xi;}=max(,zhi);}else{cout<<"你的输入有问题!"<<endl;returnfalse;}//fresheverything;zhi=0;xi=0;}else{cout<<"你的输入有误!"<<endl;returnfalse;}lst=s[i];i++;}check(tmp);a=tmp;