代码如下:
主函数:
#include<stdio.h>
#include<stdlib.h>
#include"data.h"
int main(void)
{
char choose;
struct link list1;
struct link list2;
char ch1[10];
char ch2[10];
list1.point=(struct list *) malloc(10*sizeof(struct list));
list1.lehgth=10;
list1.lengthnow=0;
list2.point=(struct list *) malloc(10*sizeof(struct list));
list2.lehgth=10;
list2.lengthnow=0;
printf("请输入第一个多项式(按降幂顺序写):");
gets(ch1);
printf("\n请输入第二个多项式(按降幂顺序写):");
gets(ch2);
creatlink(&list1,ch1);
creatlink(&list2,ch2);
printf("*********现在给出你的处理选择!********\n");
printf("a---------------------------加法\n");
printf("b---------------------------减法\n");
printf("c---------------------------乘法\n");
printf("q---------------------------退出\n");
scanf("%c",&choose);
while(choose!='q')
{
switch(choose)
{
case 'a': add(&list1,&list2);break;
case 'b': subtract(&list1,&list2);break;
case 'c': multiply(&list1,&list2);break;
}
scanf("%c",&choose);
fflush(stdin);
}
return 0;
}
creatlink函数:
#include<stdio.h>
#include<stdlib.h>
#include"data.h"
struct link * creatlink(struct link * L, char * CH)
{
char * pt;
struct list * p;
p=L->point;
for(pt=CH;(* pt)!='\0';pt++)
{
if(*pt='x')
{
p->coaf=*(pt-1);
p->exp=*(pt+2);
p++;
L->lengthnow++;
}
}
return(L);
}
头文件:
#include<stdio.h>
#include<stdlib.h>
struct link {
struct list * point;
int lengthnow;
int lehgth;
};
struct list{
float coaf;
int exp;
};
struct link * creatlink(struct link * , char *);
struct link * add(struct link * ,struct link *);
void subtract(struct link * ,struct link * );
void multiply(struct link * ,struct link * );
我把整函数发给您,行吗?
本回答被网友采纳