题目

解决代码及点评

/************************************************************************/
/*
91. 建立两个链表,来表示x幂的两个多项式,链表中的结点有三个字段coef、exp和next,分别表示多项式每项的系数、x的指数及指向下一项的指针。编一程序,按x的降幂输入多项式的系数和指数,建立两个链表,然后编一函数来完成把两个多项式的链表叠加到第三个链表中。例如:
第一个多项式为: -4x8 +5x6 +3x4 -4x的链表为:-4  8            5   6            3   4           -4  1    第二个多项式为: 5x9 -5x8 -3x4 +7x的链表为:5   9           -9   8           5   6           3   1    结果的多项式为: 5x9 -9x8 +5x6 +3x5   9            -9  8            5   6           3   1    */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>typedef struct student STU;
struct student
{int coef;int exp;struct student * next;
};
STU * Init91()
{STU * p=(STU *)malloc(sizeof(STU));if (p==NULL){return NULL;}elsep->next=NULL;return p;
}
STU *  Insert91(STU * head,int coef,int exp)
{   STU * last=head;if (last==NULL){return NULL;}while(last->next!=NULL)last=last->next;STU *p=(STU *)malloc(sizeof(STU));if (p==NULL){return NULL;}else{p->coef=coef;p->exp=exp;last->next=p;p->next=NULL;return p;}
}
void    DeleteNode91(STU* pre,STU *cur)
{pre->next=cur->next;free(cur);
}
void    printfNodes91(STU *head)
{STU *p=head->next;while(p!=NULL){printf("%2d%2d",p->coef,p->exp);printf("->");p=p->next;}printf("\n");}
STU * GB91(STU * A,STU * B)
{STU *C=Init91();STU *p1=A->next;STU * tempA=A;STU *tempB=B;STU*p2=B->next;STU *temp=NULL;while(p2!=NULL&&p1!=NULL){if (p1->exp>p2->exp){temp=Insert91(C,p1->coef,p1->exp);DeleteNode91(tempA,p1);p1=tempA->next;}else if (p1->exp<p2->exp){temp=Insert91(C,p2->coef,p2->exp);DeleteNode91(tempB,p2);p2=tempB->next;}else{if (p1->coef+p2->coef!=0){temp=Insert91(C,p2->coef+p1->coef,p2->exp);DeleteNode91(tempB,p2);p2=tempB->next;DeleteNode91(tempA,p1);p1=tempA->next;}else{p1=p1->next;tempA=tempA->next;p2=p2->next;tempB=tempB->next;}}}if (p2==NULL){temp->next=p1;}else{temp->next=p2;}return C;}
void main()
{STU * A=Init91();Insert91(A,-4,8);Insert91(A,5,6);Insert91(A,3,4);Insert91(A,-4,1);printfNodes91(A);STU * B=Init91();Insert91(B,5,9);Insert91(B,-5,8);Insert91(B,-3,4);Insert91(B,7,1);printfNodes91(B);printfNodes91(GB91(A,B));system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






转载于:https://www.cnblogs.com/new0801/p/6177395.html

基于visual Studio2013解决C语言竞赛题之1091多项式相关推荐

  1. 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数

        题目 解决代码及点评 /************************************************************************/ /* ...

  2. 基于visual Studio2013解决C语言竞赛题之1081shell排序

        题目 解决代码及点评 /************************************************************************/ /* ...

  3. 基于visual Studio2013解决C语言竞赛题之1027 YN

          题目 解决代码及点评 /*计算Yn的值,直到|Yn - Yn-1|<10-6为止,并打印出此时共作了多少次COS计算. 提示:Yn+1=COS(Yn),故本题 ...

  4. 基于visual Studio2013解决C语言竞赛题之1089牛虎过河

        题目 解决代码及点评 /************************************************************************/ /* ...

  5. 基于visual Studio2013解决C语言竞赛题之1070删除相同节点

        题目 解决代码及点评 /************************************************************************/ /* ...

  6. 基于visual Studio2013解决C语言竞赛题之0502最小数替换

         题目 解决代码及点评 /************************************************************************/ ...

  7. 判断同构数 c语言,基于visual Studio2013解决C语言竞赛题之0413同构数

    JQuery的基础和应用 1.什么是?    DOM的作用:提供了一种动态的操作HTML元素的方法.    jQuery是一个优秀的js库.用来操作HTML元素的工具.    jQuery和DOM . ...

  8. 基于visual Studio2013解决C语言竞赛题之0710排序函数

     题目 解决代码及点评 /* 10.用指向指针的指针的方法对N个整数排序并输出. 要求排序单独写成一个函数.N个整数和N在主程序中输入,最后在主函数中输出. */ #include <std ...

  9. 基于visual Studio2013解决C语言竞赛题之1049抓牌排序

       题目 解决代码及点评 /* 功能:插入排序.许多玩牌的人是以这样的方式来对他们手中的牌进行排序的:设手中原有3张牌已排好序,抓1张新牌,若这张新牌的次序在原来的第2张牌之后,第3张牌 ...

最新文章

  1. 8.0系统安装Xposed框架失败Xposed framework version XX is installed
  2. 一个学机械的毕业生令中国人无法安眠的帖子
  3. ECCV 2020 | 史上最强二值化网络ReActNet,精度首超ResNet
  4. This dependency was not found: * !!vue-style-loader!css-loader?……解决方案
  5. c++ stl队列初始化_声明,初始化和访问向量| C ++ STL
  6. ARM 汇编语言入门
  7. 《运营之光》-- 学习笔记(二)
  8. php secket5,《Thinkphp5使用Socket服务》 入门篇
  9. 逆向工程mysql注释_PowerDesigner 15进行逆向工程生成数据库图表时,注释的comment的生成,解决PowerDesigner逆向工程没有列注释...
  10. moss form验证 配置文件关键部分
  11. 图解设计模式(23种)
  12. 阿里视频播放vodPlayer.setMuteMode(true) 设置静音失效的解决办法
  13. react视频播放组件ReactPlayer基本使用
  14. mql5计算机语言函数库,MQL5 函数列表 - MQL5参考 - 参考MetaTrader 5的算法/自动交易语言...
  15. Python利用requests库爬取百度文库文章
  16. Pyhton 兔子繁衍问题(后有递归求法)(设有一对新生的兔子从第4个月开始他们每个月月初都生一对新兔子, 新生的兔子从第4个月开始又每个月月初生一对兔子,求n个月后兔子的总对数)
  17. linux的炒股软件“全胜”
  18. 科普:蓝绿部署、金丝雀发布(灰度发布)、A/B测试
  19. Go/Goland 开发笔记
  20. OK6410A移植mw150us无线网卡驱动

热门文章

  1. 巩膜(眼白)灰色原因
  2. kafka的offset笔记
  3. Error:scalac: Error: scala.collection.immutable.$colon$colon.tl$1()Lscala/collection/immutable/List;
  4. java.lang.NumberFormatException: For input string: “xxxx.“
  5. ubuntu系统中root的2种pip路径
  6. linux下面的浏览器不停自动打开新网页
  7. KNN针对中文文本分类
  8. 5.2 最优近似解 $\mathbf{\hat{x}} = A^{-1}_L\mathbf{b}$ 是最小二乘解
  9. ajax存储过程,jQuery-AJAX将下拉列表重新绑定到存储过程的结果
  10. JEPaas代码((列表,表单)确认入库按钮