首頁>Club>
4
回覆列表
  • 1 # 藍風24

    #includelt;stdio.h; 宣告部分:原始碼含有2個檔案

    #includelt;malloc.h;

    typedef struct pnode // 定義指標//

    {int coef; //定義係數//

    int exp; //定義指數//

    struct pnode *next;

    }pnode;

    pnode * creat() //creat函式用來存放多項式//

    {int m,n;

    pnode *head,*rear,*s;

    head=(pnode *)malloc(sizeof(pnode));

    rear=head;

    printf(#92;n輸入指數(按遞增順序輸入):);

    scanf(%d,m);

    printf(輸入一元式係數(0為退出):);

    scanf(%d,n);

    do

    {

    s=(pnode *)malloc(sizeof(pnode));

    s-;coef=n; //n為係數//

    s-;exp=m; //m為指數//

    rear-;next=s;

    s-;next=NULL;

    rear=s;

    printf(#92;n輸入指數(按遞增順序輸入):);

    scanf(%d,m);

    printf(輸入一元式係數(0為退出):);

    scanf(%d,n);

    }while(n);

    return head;

    }

    pnode * add(pnode *heada,pnode *headb)

    {pnode *headc,*a,*b,*s,*rearc;

    int sum;

    a=heada-;next;b=headb-;next;

    headc=(pnode *)malloc(sizeof(pnode));

    rearc=headc;

    //多項式的存放//都放到s中裡//

    while(a!=NULLb!=NULL) //指數相等,則係數相加。//

    {

    if(a-;exp==b-;exp)

    { sum=a-;coef+b-;coef;

    if(sum)

    {s=(pnode *)malloc(sizeof(pnode));

    s-;coef=sum;

    s-;exp=a-;exp;

    rearc-;next=s;

    rearc=s;

    a=a-;next;

    b=b-;next;}

    else

    {a=a-;next;

    b=b-;next;

    }

    }

    else if(a-;explt;b-;exp)

    //a指數如果小於b,則a放到s中//

    { s=(pnode *)malloc(sizeof(pnode));

    s-;coef=a-;coef;

    s-;exp=a-;exp;

    rearc-;next=s;

    //用下一個結點s取代下一個c//

    rearc=s;

    a=a-;next;

    }

    else //如果a的指數大,則b放到s中//

    { s=(pnode *)malloc(sizeof(pnode));

    s-;coef=b-;coef;

    s-;exp=b-;exp;

    rearc-;next=s;

    rearc=s;

    b=b-;next;

    }

    }

    if(a)

    {while(a!=NULL) //b空了放a中的項//

    {s=(pnode *)malloc(sizeof(pnode));

    s-;coef=a-;coef;

    s-;exp=a-;exp;

    rearc-;next=s;

    s-;next=NULL;

    rearc=s;

    a=a-;next;

    }

    }

    else if(b)

    {while(b!=NULL) //a空了放b中的項//

    {s=(pnode *)malloc(sizeof(pnode));

    s-;coef=b-;coef;

    s-;exp=b-;exp;

    rearc-;next=s;

    s-;next=NULL;

    rearc=s;

    b=b-;next;

    }}

    return headc;

    }

    void main()

    {pnode *a,*b,*c;

    printf(建立A:);

    a=creat();

    printf(#92;n建立B:);

    b=creat();

    c=add(a,b);

    c=c-;next;

    printf(%dx^%d,c-;coef,c-;exp);

    c=c-;next;

    while(c!=NULL)

    {printf(+%dx^%d,c-;coef,c-;exp);

    c=c-;next;

    }

    }

  • 中秋節和大豐收的關聯?
  • 劇情有些相似,為何有人覺得《海王》比《黑豹》更受歡迎?