| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:多项式的加法,错在那里帮忙找找,不甚感激!
取消只看楼主 加入收藏
jiang5495
Rank: 1
等 级:新手上路
威 望:2
帖 子:296
专家分:0
注 册:2008-5-11
结帖率:100%
收藏
 问题点数:0 回复次数:2 
多项式的加法,错在那里帮忙找找,不甚感激!
多项式的加法,错在那里帮忙找找,不甚感激!
  # include<stdio.h>
typedef struct Linklist
{
    int coef;
    int expn;
    struct Linklist *next;
}Linklist;

Linklist *creat()
{
    Linklist *L,*p,*q;
    L= (Linklist *)malloc(sizeof(Linklist));
    p=(Linklist *)malloc(sizeof(Linklist));
    printf("请输入一个多项式!\n");
    scanf("%d%d",&p->coef,&p->expn);
    L->next=p;
    while(p->coef!=0)
    {
        q=p;
        p=(Linklist *)malloc(sizeof(Linklist));
        scanf("%d%d",&p->coef,&p->expn);
        q->next=p;
    }
     return L;
      }

   
   
   
    void print(Linklist *L)
    {
        Linklist *p;
        p=L->next;
        while(p!=NULL)
        {
            printf("(%d,%d)",p->coef,p->expn);
            p=p->next;
        }
    }




Linklist *add(Linklist *La,Linklist *Lb)
{
    Linklist *p,*q,*u,*pr1;
    int sum;
    p=La->next;
    q=Lb->next;
    pr1=La;
    while(p!=NULL&&q!=NULL)
    {
        if(p->expn<q->expn)
        {
            pr1=p;
            p=p->next;
        }
           else if(p->expn>q->expn)
           {
                u=q->next;
                pr1->next=q;
                q->next=p;
                free(q);
                q=u;
           }
             else
             {
                 sum=p->coef+q->coef;
                 if(sum==0)
                 {
                     u=p;
                     pr1->next=p->next;
                     p=p->next;
                     free(u);
                     u=q;
                     q=q->next;
                     free(u);
                 }
                 else
                 {
                     p->coef=sum;
                     pr1=p;
                     p=p->next;
                     u=q;
                     q=q->next;
                     free(u);
                 }
             }
             }
                    }


    void main()
    {
        Linklist *La,*Lb;
        La=creat();
        Lb=creat();
        printf("\n");
        print(La);
        print(Lb);
        La=add(La,Lb);
        print(La);
    }
搜索更多相关主题的帖子: 多项式 加法 感激 
2008-09-30 19:55
jiang5495
Rank: 1
等 级:新手上路
威 望:2
帖 子:296
专家分:0
注 册:2008-5-11
收藏
得分:0 
谢谢了,我在去改改
2008-09-30 20:29
jiang5495
Rank: 1
等 级:新手上路
威 望:2
帖 子:296
专家分:0
注 册:2008-5-11
收藏
得分:0 
恩谢了,我太粗心了,现在成功了,Thank you!
2008-09-30 20:32
快速回复:多项式的加法,错在那里帮忙找找,不甚感激!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028116 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved