ntf(" 请输入要做和的两个函数编号,以空格隔
开。\n");
scanf("%d %d",&d1,&d2);
if(d1<1||d1>FN||d2<1||d2>FN){
printf("输入错误,请重新选择。\n");
return;
}
FN++;
head[FN]=NULL;
p1=head[d1];
p2=head[d2];
while(1){
p=(SF *)malloc(sizeof(SF));
p->a=p1->a+p2->a;
if(head[FN]==NULL){
head[FN]=q=p;
p->piror=NULL;
p->n=0;
}
else {
q->next=p;
p->piror=q;
p->n=q->n+1;
q=p;
}
if(p1->next!=NULL&&p2->next!=NULL){
p1=p1->next;
p2=p2->next;
}
if(p1->next==NULL&&p2->next==NULL){
p->next=NULL;
rear[FN]=p;
break;
}
if(p1->next==NULL&&p2->next!=NULL){
p1=pa;
p2=p2->next;
}
if(p1->next!=NULL&&p2->next==NULL){
p2=pa;
p1=p1->next;
}
}
Check();
List(FN);
}
void FunctionSubtraction(void){
FunctionList();
printf(" 请输入要做差的两个函数编号,以空格隔开。\n");
scanf("%d %d",&d1,&d2);
if(d1<1||d1>FN||d2<1||d2>FN){
printf("输入错误,请重新选择。\n");
return;
}
FN++;
head[FN]=NULL;
p1=head[d1];
p2=head[d2];
while(1){
p=(SF *)malloc(sizeof(SF));
p->a=p1->a-p2->a;
if(head[FN]==NULL){
head[FN]=q=p;
p->piror=NULL;
p->n=0;
}
else {
q->next=p;
p->piror=q;
p->n=q->n+1;
q=p;
}
if(p1->next!=NULL&&p2->next!=NULL){
p1=p1->next;
p2=p2->next;
}
else{
if(p1->next==NULL&&p2->next==NULL){
p->next=NULL;
rear[FN]=p;
break;
}
else{
if(p1->next==NULL){
p1=&p0;
p2=p2->next;
}
else{
p2=&p0;
p1=p1->next;
}
}
}
}
Check();
List(FN);
}
void FunctionMultiplication(void){
FunctionList();
printf(" 请输入要做积的两个函数编号,以空格隔开。\n");
scanf("%d %d",&d1,&d2);
if(d1<1||d1>FN||d2<1||d2>FN){
printf("输入错误,请重新选择。\n");
return;
}
FN++;
head[FN]=NULL;
p1=head[d1];
p2=head[d2];
double D1[100];
double D2[100];
double D[200];
while(p1!=NULL){
D1[p1->n]=p1->a;
p1=p1->next;
}
while(p2!=NULL){
D2[p2->n]=p2->a;
p2=p2->next;
}
for(i=0;i<=(rear[d1]->n+1+rear[d2]->n);i++){
D[i]=0;
for(j=0;j<=i;j++)
if(i-j<=rear[d2]->n)
if(j<=rear[d1]->n)
D[i]+=D1[j]*D2[i-j];
}
i=0;
while(in+rear[d2]->n+1){
p=(SF *)malloc(sizeof(SF));
if(head[FN]==NULL){
head[FN]=q=p;
p->piror=NULL;
p->n=0;
p->a=D[0];
}
else {
p->n=q->n+1;
p->a=D[p->n];
q->next=p;
p->piror=q;
q=p;
}
i++;
}
p->next=NULL;
rear[FN]=p;
p->a=D[p->n];
Check();
List(FN);
}
void FunctionDifferential(void){
FunctionList();
printf("\n请输入想求导的函数编号:\n");
scanf("%d",&d);
if(d<1||d>FN){
printf(&