实验一:求导
源程序 #include
if(p->coef_p!=" ")cout<
coef_p;} void Poly::Disp(){ PolyNode *p;p=head->next;lp:if(p)//第一个输出数据前不用输入+号 { if(p->coef==0){p=p->next;goto lp;}//系数为 0 else if(p->coef==1||p->coef==-1)//系数为 1 或-1 { if(p->exp==0){ if(p->coef_p!=" ")cout<
coef_p;else cout<
coef;} else if(p->exp==1){ if(p->coef==-1){cout<<"-";Show_coef_p(p);cout<<"x";} else {Show_coef_p(p);cout<<"x";} } else { if(p->coef==-1){cout<<"-";Show_coef_p(p);cout<<"x^"<
exp;} else {Show_coef_p(p);cout<<"x^"<
exp;} } } else{//系数为一般 if(p->exp==0){cout<
coef;Show_coef_p(p);} else if(p->exp==1){cout<
coef;Show_coef_p(p);cout<<"x";} else { cout<
coef;Show_coef_p(p);cout<<"x^"<
exp;} } p=p->next;} else cout<<0;//若所有的系数均为 0,则求完导后为 0 while(p)//输出的第二个以及往后的数据 { if(p->coef==0){} //系数为 0,则不输出 else if(p->coef==1||p->coef==-1)//系数为 1 或-1 { if(p->exp==0){ if(p->coef==1){
if(p->coef_p==" ")cout<<"+"<
coef;else {cout<<"+";Show_coef_p(p);} } else if(p->coef==-1){ if(p->coef_p==" ")cout<
coef;else {cout<<"-";Show_coef_p(p);} } } else if(p->exp==1){ if(p->coef==1){cout<<"+";Show_coef_p(p);cout<<"x";} else {cout<<"-";Show_coef_p(p);cout<<"x";} } else { if(p->coef==1){cout<<"+";Show_coef_p(p);cout<<"x^"<
exp;} else {cout<<"-";Show_coef_p(p);cout<<"x^"<
exp;} } } else //一般情况 { if(p->exp==0)//指数为 0,则只输出系数 { if(p->coef>0){cout<<"+"<
coef;Show_coef_p(p);} else {cout<
coef;Show_coef_p(p);} } else if(p->exp==1)//指数为 1,则不在输出 x 的指数 { if(p->coef>0){cout<<"+"<
coef;Show_coef_p(p);cout<<"x";} else {cout<
coef;Show_coef_p(p);cout<<"x";} } else { //一般情况 if(p->coef>0){cout<<"+"<
coef;Show_coef_p(p);cout<<"x^"<
exp;} else {cout<
coef;Show_coef_p(p);cout<<"x^"<
exp;} } } p=p->next;} cout< int i=0;r=head;while(1){ s=new PolyNode;cout<<"请输入第"<coef_p=" ";cin>>s->coef;if(s->coef==0)break;} else{ s->coef=1;cin>>s->coef_p;if(s->coef_p=="0")break;} cin>>s->exp;s->next =NULL;r->next =s;r=s;i++;} } void Poly::QiuDao(){ PolyNode *p=head->next;while(p){ p->coef*=p->exp;p->exp--;p=p->next;} } void main(){ Poly LA;int a;cout<<"请选择系数类型:n 若系数为数字请输入 1,若为符号请输入 0:t";cin>>a;LA.Create(a);cout<<"原多项式 A 为:";LA.Disp(); LA.QiuDao();cout<<"求导后为:";LA.Disp();}
