Code:#include<stdio.h> #include<conio.h> #include<stdlib.h> typedef struct poly_node { int coeff; int power; struct poly_node *next; }polynode; polynode* create(polynode*,int); void polymulti(polynode*,polynode*); void display(polynode *,polynode *,polynode*); int main() { int n1,n2; polynode *head1,*head2; head1=(polynode*)malloc(sizeof(polynode)); printf("\n Enter Elements in first List \n"); printf("Enter no. of elements of 1st list = "); scanf("%d",&n1); printf("Enter coefficient of head1 = "); scanf("%d",&head1->coeff); printf("Enter power of head1 = "); scanf("%d",&head1->power); head1->next=NULL; head1=create(head1,n1); head2=(polynode*)malloc(sizeof(polynode)); printf("\n Enter Elements in Second List \n"); printf("Enter no. of elements of 2nd list = "); scanf("%d",&n2); printf("Enter coefficient of head2 = "); scanf("%d",&head2->coeff); printf("Enter power of head2 = "); scanf("%d",&head2->power); head2->next=NULL; head2=create(head2,n2); polymulti(head1,head2); return 0; } polynode *create(polynode *head,int n) { polynode *new,*q; int i; q=head; for(i=1;i<n;i++) { new=(polynode*)malloc(sizeof(polynode)); printf("Enter coefficient = "); scanf("%d",&new->coeff); printf("Enter power = "); scanf("%d",&new->power); new->next=NULL; q->next=new; q=new; } return head; } void polymulti(polynode *head1,polynode *head2) { polynode *p,*q,*result,*s; result=NULL; int newcoeff,newpower,i; p=head1; q=head2; while(p!=NULL) { while(q!=NULL) { newcoeff=(p->coeff)*(q->coeff); newpower=(p->power)+(q->power); s=(polynode*)malloc(sizeof(polynode)); s->coeff=newcoeff; s->power=newpower; s->next=NULL; if(result==NULL) result=s; else result->next=s; q=q->next; } p=p->next; } display(head1,head2,result); } void display(polynode *head1,polynode *head2,polynode *result) { polynode *p; printf("\n PRINTING THE FIRST LIST : \n"); p=head1; while(p!=NULL) { printf("%d--%d\t",p->coeff,p->power); p=p->next; } p=head2; printf("\n PRINTING THE SECOND LIST : \n"); while(p!=NULL) { printf("%d--%d\t",p->coeff,p->power); p=p->next; } printf("\n PRINTING THE RESULTANT LIST : \n"); p=result; while(p!=NULL) { printf("%d--%d\t",p->coeff,p->power); p=p->next; } }