文章标题

来源:互联网 发布:windows 10 虚拟显存 编辑:程序博客网 时间:2024/06/10 14:53
#include<stdio.h>#include<stdlib.h>typedef struct polynomial{    int exp;    float coe;    struct polynomial* next; }polynomial,*polynomialnail;void CreatePoly(polynomialnail Polynail,int K){    int i;    polynomialnail p=Polynail;///*    for(i=0;i<K;i++)    {        scanf("%d",&(p->exp));        scanf("%f",&(p->coe));        p=p->next;    }    p=NULL;//*/}void ADD(polynomialnail Polynail1,polynomialnail Polynail2,polynomialnail Polynail3,int *K){    polynomialnail p=Polynail3;    K=0;    while(Polynail1!=NULL&&Polynail2!=NULL)    {        if(Polynail1->exp>Polynail2->exp)         {            p->next=Polynail1;            Polynail1=Polynail1->next;            p=p->next;        }        else if(Polynail1->exp<Polynail2->exp)        {            p->next=Polynail2;            Polynail2=Polynail2->next;            p=p->next;        }        else/*相等*/        {            p->next=Polynail1;            p=p->next;            p->coe=Polynail1->coe+Polynail2->coe;            Polynail1=Polynail1->next;            Polynail2=Polynail2->next;        }        K++;    }    while(Polynail1!=NULL)     {        p->next=Polynail1;        p=p->next;        Polynail1=Polynail1->next;        K++;    }    while(Polynail2!=NULL)    {        p->next=Polynail2;        p=p->next;        Polynail2=Polynail2->next;        K++;    }    p=Polynail3;    Polynail3=p->next;    free(p);}void PrintPoly(polynomialnail Polynail){    while(Polynail->next!=NULL)    {        printf("%d %f ",Polynail->exp,Polynail->coe);    }}int main(){    int K;    polynomialnail Polynail1,Polynail2,Polynail3;    scanf("%d",&K);    Polynail1=(polynomialnail)malloc(K*sizeof(struct polynomial));    CreatePoly(Polynail1,K);    scanf("%d",&K);    Polynail2=(polynomialnail)malloc(K*sizeof(struct polynomial));    CreatePoly(Polynail2,K);    Polynail3=(polynomialnail)malloc(sizeof(struct polynomial));    ADD(Polynail1,Polynail2,Polynail3,&K);    printf("%d ",&K);    PrintPoly(Polynail3);}
原创粉丝点击