多项式相加:
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(Poly)
typedef struct term{
float xishu;
int zhishu;
struct term *next;
}Poly,*Link;
void CreatePolyn(Link *p,int m);
void PrintPolyn(Link p);
int cmp(Link p1, Link p2);
Link AddPolyn(Link pa, Link pb);
int main()
{
Link P1,P2;
int L1,L2;
printf("第一个多项式的项数:");
scanf("%d",&L1);
CreatePolyn(&P1,L1);
printf("第一个多项式为:");
PrintPolyn(P1);
printf("第二个多项式的项数:");
scanf("%d",&L2);
CreatePolyn(&P2,L2);
printf("第二个多项式为:");
PrintPolyn(P2);
printf("\n");
printf("两个相加的结果为:");
PrintPolyn(AddPolyn(P1, P2));
return 0;
}
void CreatePolyn(Link *p,int m)
{
Link r,s;
int i;
*p=(Link)malloc(LEN);
r=*p;
for(i=0;i<m;i++)
{
s=(Link)malloc(LEN);
printf("输入系数和指数(以空格隔开):");
scanf("%f %d", &s->xishu, &s->zhishu);
r->next=s;
r=s;
}
r->next=NULL;
}
void PrintPolyn(Link p)
{
Link s;
s = p->next;
while(s)
{