• —四川最大高校综合门户网
  • 用户名: 密码: 验证码: 注册会员写作
  • 首页
  • 家教
  • 校园
  • 学习
  • 论文
  • 考试
  • 考研
  • 英语
  • 读书
  • 留学
  • 实习
  • 招聘
  • 求职
  • 创业
  • 高考
  • 大赛
  • 专题
  • 交友
  • 日记
  • 相册
  • 壁纸
  • 图库
  • 两性
  • flash
  • 笑话
  • 闪字
  • 培训
  • 商城
  • 电影
  • 音乐
  • 分类
  • 问答
  • 圈子
  • 查询
  • 顶客
  • 社区
  • 您所在的位置:四川大学生联盟 > 考研 > 历年试题 > 吉林地区考研试卷 > 吉林大学2002年硕士研究生入学考试c语言程序设计答案
  • 吉林大学2002年硕士研究生入学考试c语言程序设计答案

    时间:2008-02-15 点击: 收藏 评论 0 条 我要投稿
    相关热点: 语言 程序设计 答案 考试 入学 大学 硕士 研究生 node
    本文摘要:

    吉林大学2002年硕士研究生入学考试c语言程序设计答案 2002-1/*====================================================================================*/ /*函数名称:2002_1.c */ /*程序目的:递归地将一个数插入一个准递增序列,且插入完毕后仍然保持准递增特性 */

    吉林大学2002年硕士研究生入学考试c语言程序设计答案

    2002-1/*====================================================================================*/
    /*函数名称:2002_1.c                                  */
    /*程序目的:递归地将一个数插入一个准递增序列,且插入完毕后仍然保持准递增特性      */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    struct node //定义链表结点结构,在最前面给出
    {
     int num;
     node* next;
    }
    node* insert(node* head,int n)//题目要求的函数
    {
     node *p;
     if (n <= head->num) //若n已经到了准递增序列的合适的位置,递归出口
     {
      p = (node*)malloc(sizeof(node));//新建一个节点用来存放n
      p->num = n;
      p->next = head;
      head = p;
     }
     else
      insert(head->next,n);//否则递归插入
     return head;
    }
    2002-1/*=============================================================================*/
    /*函数名称:2002_2.c                              */
    /*函数目的:求给定序列的最长递增子序列的长度                   */
    /*Writen by Apechn,Soft Lab of JLU                       */
    /*=============================================================================*/

    #include <stdio.h>
    const int N = 8;
    int MaxLeng(int a[])
    {
      int i,len = 1,lmax = 1;
      for (i = 1;i < N;i++)
      {
       if(a[i] >= a[i-1]) //如果满足递增子序列的定义,len增一
       {
        len ++;
        contnue;
       }
       if (lamx < len)
        lmax = len;
       len = 1;
      }
      return lmax;
    }
    2002-3/*=============================================================================*/
    /*函数名称:2004_3.c                              */
    /*函数目的:用链表表示集合的相加                        */
    /*Writen by Apechn ,Soft Lab of JLU                       */
    /*=============================================================================*/

    #include <stdio.h>
    struct node //定义链表结点结构,在最前面给出
    {
     int num;
     node* next;
    }
    int ismember(int a,node* head)//子函数,判断整数a是不是在以head为头结点的链表中
    {
     int sign = 0; //如果在,返回1,否则返回0
     node* p = head;

     if (p == NULL) //注意集合为空集的情况
      return sign;

     while (p != NULL)
     {
      if (p->num == a)
      {
       sign = 1;
       break;
      }
      p = p->next;
     }

     return sign;
    }
    node* SetAdd(node* P,node* Q)//题目要求的函数
    {
     int n;
     node *r,*tail,*point1,*poing2;
     if (P == NULL)
      return Q;

     if (Q == NULL)
      return P;
     r = P;
     while (r != NULL) //tail用来记录P链表的尾部
     {
      tail = r;
      r = r->next;
     }
     r = Q;
     while (ismember(r->num,P))//找到Q中第一个不在P中的元素的位置,记为r
      r = r->next;
     point1 = r;
     poing2 = r->next;
     while (point2 != NULL) //从r开始遍历链表Q
     {
      n = point2->num;
      if(ismember(n,P))
       point1->next = point2->next;//如果遍历到的元素是P中的元素,那么把它删掉
      else
       point1 = point2;//否则继续
      point2 = point2->next;
     }
     tail->next = r; //把剩余的元素放到P中
     return P;
    }

    2002_4/*=============================================================================*/
    /*函数名称:2004_4.c                              */
    /*函数目的:用链表表示八进制数以及它们的和                   */
    /*Writen by Apechn ,Soft Lab of JLU                       */
    /*=============================================================================*/
    #include <stdio.h>
    struct node
    {
     int num;
     node* next;
    };
    node* inverse(node* head) //子函数,逆转链表的所有指针,把原来的尾结点变成头结点
    {
     node *f,*g,*h;
     if (head != NULL)
     {
      f = head;
      g = NULL;
      while (f->next != NULL)
      {
       h = f;
       f = f->next;
       h->next = g;
       g = h;
      }
      f->next = g;
      head = f;
     }
     return head;
    }
    node* Add(node* P,node* Q) //题目要求的函数
    {
     node *p,*q,*r,*head = NULL;
     int carry,temp;
     if (P == NULL)
      return Q;
     if (Q == NULL)
      return P;
     p = inverse(P); //逆转两个链表的指针
     q = inverse(Q);
     carry = 0; //进位设为0
     while (p != NULL && q != NULL)//逐为相加两个数,知道其中一个加完为止
     {
      temp = p->num + q->num +carry;
      r = new node;
      r->num = temp % 8;
      r->next = head;
      head = r;
      carry = temp/8;
      p = p->next;
      q = q->next;
     }
     if (q == NULL) //修改一下指针,便于统一计算
     q = p;
     while (q != NULL) //把剩余的数加完
     {
      temp = q->num + carry;
      r = new node;
      r->num = temp % 8;
      r->next = head;
      head = r;
      carry = temp/8;
      q = q->next;
     }
     return head;
    }
    2002_5/*====================================================================================*/
    /*函数名称:2002_5.c                                  */
    /*程序目的:将一个函数改写为递归函数                          */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/

    #include <stdio.h>
    #include <math.h>
    int m,n;
    doublef1(double x,double y)
    {
     L:
     printf("This is S1 %d times ",m);
     m++;
     printf("This is S2 %d times ",n);
     n++;
     x = x + 1.5;
     y = y + x;
     if (y <= 100)
     goto L;
     return sin(y);
    }
    double f3(double x,double y)//递归函数
    {
     printf("This is S1 %d times",m);
     m++;
     printf("This is S2 %d times",n);
     n++;
     x = x + 1.5;
     y = y + x;
     if (y <= 100) //递归出口
      return f3(x,y);
     else
      return sin(y);
    }

    0
    顶一下
    上一篇:吉林大学2003年硕士研究生入学考试c语言程序设计
    下一篇:吉林大学2002年硕士研究生入学考试编译原理b1附答案
    责任编辑:战国狂
    • Google
    相关文章
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2002年硕士研
    • [吉林地区考研试卷]东北师范大学2004年硕士研
    • [吉林地区考研试卷]东北师范大学2005年硕士研
    • [吉林地区考研试卷]东北师范大学1998年硕士研
    • [吉林地区考研试卷]东北师范大学1998年硕士研
    最新热门图片
    20秒注册会员,你也可以成写手 你的文章也精彩
    • 吉林大学2000年硕士研究生入学考试C语言程序设计
      吉林大学2000年硕士
    • 吉林大学2000年硕士研究生入学考试无机化学(含分析化学)
      吉林大学2000年硕士
    • 吉林大学2001年硕士研究生入学考试C语言程序设计
      吉林大学2001年硕士
    • 吉林大学2001年硕士研究生入学考试计算机综合
      吉林大学2001年硕士
    • 吉林大学2001年硕士研究生入学考试无机化学(含分析化学)
      吉林大学2001年硕士
    • 吉林大学2001年硕士研究生入学考试有机化学
      吉林大学2001年硕士
    • 吉林大学2002年硕士研究生入学考试无机化学(含分析化学)
      吉林大学2002年硕士
    • 吉林大学2002年硕士研究生入学考试有机化学
      吉林大学2002年硕士
    网友热评 共有 0 位网友发表了评论
    查看所有评论
    • 发表评论:(不能超过250字,需审核,请自觉遵守互联网相关政策法规。)
    • 用户名: 密码: 匿名? 注册
    • 请您注意:1.遵守国家有关法律法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任 2.您发表的文章仅代表个人观点 3.四川大学生联盟拥有管理笔名和留言的一切权利
  • 【四川地区考研试卷】 【北京地区考研试卷】 【上海地区考研试卷】 【江苏地区考研试卷】 【天津地区考研试卷】 【重庆地区考研试卷】 【浙江地区考研试卷】 【湖北地区考研试卷】 【湖南地区考研试卷】 【陕西地区考研试卷】 【福建地区考研试卷】 【安徽地区考研试卷】 【山东地区考研试卷】 【广东地区考研试卷】 【吉林地区考研试卷】 【黑龙江地区考研试卷】 【辽宁地区考研试卷】 【甘肃地区考研试卷】
    最新TAGS
    工程专业 四川省会计从业资格 非法律专业 药品 乐众国际 沈阳户外体验培训 白领之路 开良方 云南中医学院 再没出来 何国英 集锦 毕业典礼 炒板栗机 七大功课 行窃 奥运感想 配置 考试口语发音 骑行者 成都版式设计培训 笔记本 广州 报复前男友 卡通,节日,七夕,礼物 小姑娘 08年12月四级考前答案 冒雨 加分 取款 我先行 农学院 求职方式 吸血鬼 是非 熔焊机 联合国 劳动手册 越来越 处男
    随机推荐
    吉林大学2000年硕士研究
    吉林大学1997年硕士研究
    吉林大学2003年硕士研究
    吉林大学1997年硕士研究
    吉林大学2003年硕士研究
    吉林大学2002年硕士研究
    吉林大学2001年硕士研究
    吉林大学1999年硕士研究
    吉林大学2001年硕士研究
    吉林大学1998年硕士研究
    吉林大学2002年硕士研究
    吉林大学1997年硕士研究
    吉林大学2000年硕士研究
    东北师范大学1998年硕士
    吉林大学2003年硕士研究
    吉林大学1993年硕士研究
    吉林大学2001年硕士研究
    吉林大学2000年硕士研究
    吉林大学2003年硕士研究
    吉林大学2002年硕士研究
    最新热门
    吉林大学2003年硕士研究生入学考试分析化学(含仪器分析)
    吉林大学2003年硕士
    吉林大学2004年硕士研究生入学考试理论力学
    吉林大学2004年硕士
    吉林大学2003年硕士
    吉林大学2000年硕士
    吉林大学2004年硕士
    吉林大学2004年硕士
    吉林大学2004年硕士
    吉林大学2003年硕士
    吉林大学2002年硕士
    吉林大学2004年硕士
    吉林大学2001年硕士
    吉林大学2000年硕士
[关于我们]  [网络合作]  [广告服务]  [网站记事]  [联系我们]  [网站地图]
四川大学生联盟 蜀ICP备05017152号 Copyright © 2001-2007 All Rights Reserved.