• 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • 一元多项式的错误,大神帮我看看

    零晨三点 发布于 2018/11/07 10:25
    阅读 132
    收藏 1

    广东十一选五推荐号 www.qhysp.com #include<stdio.h>
    #include<stdlib.h>


    struct Node
    {
      float coef;
      int expn;
      struct Node *next;
    };
    typedef struct Node ListNode;
    typedef struct Node* LinkNode;

    /*创建单链表*/
    ListNode *CreatList(int n)
    {
     ListNode *head;
     ListNode *p,*pre;
     int i,expn;float coef;
     
     head=(ListNode *)malloc(sizeof(ListNode));//为头节点分配内存空间
     head->next=NULL;//将头结点的指针域清空
     pre=head;//先将头结点首地址赋给中间变量pre
     for(i=1;i<=n;i++)//通过for循环不断加入新的结点
      {
       p=(ListNode *)malloc(sizeof(ListNode));//为要插入的节点分配
       //内存空间p指向新插入结点的首地址
       p->expn=expn;
       p->coef=coef;
       pre->next=p;//将p指向新结点插入链表也就是头结点指针域指向下个结点
       pre=p;//这个起着指向下一个结点的作用
      }
     p->next=NULL;//最后将最后一个结点的指针域清空了
     return head;//返回这个链表的首地址
    }
    /*插入节点*/
    int InsertList(ListNode *h,int i,float coef,int expn)
    {
     int j=0;
     ListNode *p; ListNode *s;
     p=h; p=p->next;
     while(p&&j<i-1)
     {
      p=p->next;
      ++j;
     }
     if(!p||j>i-1) return 0;
    // s=(ListNode *)malloc(sizeof(ListNode));
     
        p->expn=expn;
        p->coef=coef;
      
    // s->next=p->next;
    // p->next=s;
     return 1;
    }
    /*打印链表*/
    void PrintListNode(ListNode *m){
     ListNode *p;
     p=m->next;

     for(;p!=NULL;){
      printf("%.1fX^%d",p->coef,p->expn);
      if(p->next!=NULL)
      printf("+");
      p=p->next;
      }
     printf("\n"); 
    }

    /*多项式相加*/

    void AddList(ListNode *h,ListNode *H,ListNode *h1){
     ListNode *pa,*pb,*pc;
     pa=h,pb=H,pc=h1;
     
     for(int i=1;pa->next==NULL&&pb->next==NULL;pa=pa->next,pb=pb->next)
      {
       pc->coef=pa->coef ;
       pc->expn=pa->expn;
       InsertList(pc,i,pc->coef,pc->expn);
       pc=pc->next;
       i++;
       pc->coef=pb->coef ;
       pc->expn=pb->expn;
       InsertList(pc,i,pc->coef,pc->expn);
       pc=pc->next;
       i++;
      }
     int main()
    {
      ListNode *h;//h指向结构体NODE
        int n=3, expn,coef;
       
        h=CreatList(n);/*创建链表*/
      coef=2;expn=1;
     InsertList(h,1,coef,expn);//插入链表
      coef=2;expn=5;
     InsertList(h,2,coef,expn);
      coef=3;expn=4;
     InsertList(h,3,coef,expn);
      printf("L1="); 
        PrintListNode(h);
       
          ListNode *H;//h指向结构体NODE
       
        H=CreatList(n);/*创建链表*/
      coef=2;expn=10;
     InsertList(H,1,coef,expn);//插入链表
      coef=8;expn=5;
     InsertList(H,2,coef,expn);
      coef=9;expn=1;
     InsertList(H,3,coef,expn); 
      printf("L2=");
        PrintListNode(H);
     
     ListNode *L;
     n=6;
     L=CreatList(n);
      AddList(h,H,L);
    }

     

    加载中
    0
    tcxu
    tcxu
    1. 创建(creat) linked list, 只需建立一个头节点就行了,不必规定节点的个数。
    2. 链表的优点就是初始化不要限制/规定长度。相应地,插入(insert)函数也应当重新写 (建议按幂的大小插入, 以便利以后的查询、相加)。
    3. 多项式相加,不是简单地将两个已知链表的节点依次插入第三个链表。而是将两个已知链表幂次相同项的(浮点数)系数相加,组成一个新结点,之后,将新结点插入第三个链表。
    4. 目前看来,多项式相加的函数末尾少了一个表示函数定义结束的花括号:

                            void AddList(ListNode *h,ListNode *H,ListNode *h1){ ...  缺表示结束的 '}'。

     

    零晨三点
    零晨三点
    非常感谢,您解决了我两个问题。
    0
    零晨三点
    零晨三点

    我是题主解释一下,这是个一元多项式的相加操作,我先创建了两个一元多项式链表h,H,想创建第三个链表L存放两链表相加的和,但是

    返回顶部
    顶部
  • 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • 浙江20选5中奖 20197星彩21期推荐 江苏体彩11选5投注技巧 足球吧 香港赛马会开奖直播 麻将雀帝apk下载 篮彩竞彩 幸运赛车的走势图 国际娱乐平台线路中心 七星彩走势图综合版50 中国福利彩票20191116 上海天天彩选4最新开奖结果 新疆时时彩一天开几期 浙江11选5胆拖计算器 中彩票大奖