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

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

    吉林大学2003年硕士研究生入学考试c语言程序设计答案 2003-1/*====================================================================================*/ /*函数名称:2003_1.c */ /*程序目的:将由整数构成的n(n≥2)阶方阵A就地按顺时针方向旋转90度 */ /*Writen b

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

    2003-1/*====================================================================================*/
    /*函数名称:2003_1.c                                  */
    /*程序目的:将由整数构成的n(n≥2)阶方阵A就地按顺时针方向旋转90度           */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    const int N = 9;
    void main()
    {
     int a[N][N];
     int i,j,temp = 1,x = 0,y = N;
     for (i = 0;i<N;i++) //赋初值
      for (j = 0;j<N;j++)
      {
       a[i][j] = temp;
       temp++;
      }
     for (i = 0;i<N-1;i++) //核心部分
     {
      for (j = x;j<y-1;j++) //根据题目要求,设计出如下几条地址变换规律
      {
       temp = a[i][j];
       a[i][j] = a[N-j-1][i];
       a[N-j-1][i] = a[N-i-1][N-j-1];
       a[N-i-1][N-j-1] = a[j][N-i-1];
       a[j][N-i-1] = temp;
      }

      x++;
      y--;
     }
     for (i = 0;i<N;i++)
     for (j = 0;j<N;j++)
     printf("%d ",a[i][j]);
    }
    2003-2/*====================================================================================*/
    /*函数名称:2003_2.c                                  */
    /*程序目的:将一个实数分解为它的整数和小数部分                     */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    #define GET_ZHENGSHU 0; //宏定义,便于使用
    #define GET_XIAOSHU 1
    float fun(float f,int sign);
    void main()
    {
      float a;
      printf("Please input a:");
      scanf("%f",&a);
      printf("整数部分为:%f",fun(a,GET_ZHENGSHU));//取整数的使用方法
      printf("小数部分为:%f",fun(a,GET_XIAOSHU)); //取小数的使用方法
    }
    float fun(float f,int sign)
    {
      float a = 0;
      if (f>=0)
      {
       while (a<=f) //枚举
          a = a + 1;
       a = a - 1;
      }
      else
      {
       while (a>=f) //枚举
          a = a - 1;
       a = a + 1;
      }
      if (sign == 0)
       return a;
      else
       return (f - a);
    }
    2003-3/*====================================================================================*/
    /*函数名称:2003_3.c                                  */
    /*程序目的:对于0<x<1,利用Talor公式,求e^x的近似值,结果精确到10^-8           */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    #include <math.h>
    double e(int x);
    void main()
    {
      int x;
      printf("Please input x: ");
      scanf("%d",&x);
      printf(" The result is :%15.8f",e(x));
    }
    double e(int x)
    {
      double result1,result2;
      double c = 1; //除数
      double b = x; //被除数
      int m = 1;
      result1 = 1 + x;
      result2 = 1;
      while (fabs(result1 - result2) >= 1E-8) //控制精确度
      {
       m++;
       c = c * m;
       b = b * x;
       result2 = result1;
       result1 = result1 + b/c;
      }
      return result1;
    }
    2003-4/*====================================================================================*/
    /*函数名称:2003_4.c                                  */
    /*程序目的:从输入的字符串中翻译并输出符合该句法的一个数                */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    #include <math.h>
    int isdigtal(char c);
    int todig(char c);
    void compile(char* str);
    void main()
    {
      char str[40];
      printf("Please input a string: ");
      scanf("%s",str);
      compile(str);
    }
    void compile(char* str)
    {
      double num = 0;
      int sign = 0,exp = 0;
      char *p = str,c;
      c = *p;
      while (c != '\0')
      {
        if (isdigtal(c)) //如果c是数字
        {
          switch(sign)
          {
            case 0:
              sign = 1;
              num = todig(c);
              break;
            case 1:
              num = num * 10 + todig(c);
              break;
            case 2:
              num = num + todig(c) * pow(10,exp);
              exp--;
              break;
           }
        }
        else if (c == '.') //如果c是小数点
        {
          if (sign == 1)
          {
            sign = 2;
            exp = -1;
          }
        }
        else //如果c是其它字符
        {
          if (sign != 0)
          {
            printf("the number is :%f",num);
            return;
          }
        }
        p = p + 1;
        c = *p;
      }

      printf("the number is :%f",num);
    }
    2003-5/*====================================================================================*/
    /*函数名称:2003_5.c                                  */
    /*程序目的:将递归函数转化为非递归函数                         */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    float f1(float x,float y)
    {
      if (x<0)
        return x+y;
      return f1(x-1,x+y) + x/y;
    }
    float f2(float x,float y)
    {
      float result,a,b;
      if (x<0)
        return x+y;
      result = x/y;
      a = x;
      b = y;
      while (a>=0)
      {
        b = a + b;
        a = a - 1;
        result = result + a/b;
      }
      result = result + (a + b);
      return result;
    }
    2003-6/*=============================================================================*/
    /*程序名称:2003_6.c                              */
    /*程序目的:从已知二叉树的前序和中序序列构造该二叉树              */
    /*Writen by Apechn ,Soft Lab of JLU                       */
    /*=============================================================================*/

    #include <stdio.h>
    struct node //定义链表结点结构,在最前面给出
    {
     int data;
     node *left;
     node *right;
    }
    node *bintree(int i,j,u,v;node *s)
    {
     int k,l;
     s = NULL; //根指针初始化,s为空树
     if (j >= i)
     {
      s = node *(malloc(sizeof(node)));//建立根结点
      s->data = pre[i];
      k = u;
      while (ind[k] != pre[i]) //在中序序列中查找根结点
       k++;
      l = i + k - u; //l为左字树中最右下结点在前序序列中的位置
      if (k == u) //构造左子树
       s->left = NULL;
      else
       bintree(i+1,l,u,k-1,s->left);
      if (k == v) //构造右子树
       s->right = NULL;
      else
       bintree(l+1,j,k+1,v,s->right);
     }
    }
    2003-7/*====================================================================================*/
    /*函数名称:2003_7.c                                  */
    /*程序目的:求由100个整数构成的序列L的最大和子序列                   */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    const int N = 100;
    void main()
    {
      int A[N],stime;
      long ltime;
      int a = 0,b = 0,i,j,k,num = 0,max = -100;
      ltime = time(NULL);
      stime = (unsigned)ltime/2;
      srand(stime);
      for (i = 0;i<N;i++)
        A[i] = rand() % 100 - 50;

      printf("The subserial is :");
      for (i = 0;i<N;i++)         //主要部分
        for (j = N-1;j>=i;j--)
        {                //i和j为子序列的边界
          num = 0;
          for (k = i;k<=j;k++)
            num += A[k];      //求出子序列的和
          if (num > max)        //如果当前序列的和大于记录,那么记下边界
          {
            max = num;
            a = i;
            b = j;
          }
        }
      for (k = a;k<=b;k++)
        printf("%3d",A[k]);
    }
    2003-8/*====================================================================================*/
    /*函数名称:2003_8.c                                  */
    /*程序目的:编程根据经过合理变换得到的序列B中的数据,依次输出序列A中的数值       */
    /*Writen by Apechn ,Soft Lab of JLU                          */
    /*====================================================================================*/
    #include <stdio.h>
    const int N = 10;
    void main()
    {
      int A[N],b[N] = {0,1,0,3,2,3,2,4,0,4};
      int temp[N] = {1,2,3,4,5,6,7,8,9,10};   //临时数组,在确定A时使用
      int i,j,k;
      for (i = N - 1;i>=0;i--)          //对数组B从后向前扫描
      {
        k = B[i];
        j = 0;
        while (k != 0)             //从临时数组temp中找到k=B[i]个没有确定下来的数
        {
          if (temp [j] != N + 1)
            k--;
          j++;
        }
        while (temp[j] == N + 1)       //找到下一个还没有被确定下来的数
          j++;               //就应该放到A[i]处
        A[i] = temp[j];
        temp[j] = N + 1;
      }
      for (i = 0;i<N;i++)
        printf("%d ",A[i]);
    }

    0
    顶一下
    上一篇:吉林大学2004年硕士研究生入学考试c语言程序设计答案
    下一篇:吉林大学2002年硕士研究生入学考试编译原理a1附答案
    责任编辑:战国狂
    • 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
    餐饮美食 挂科 实验心理学 考研经验(4) 深圳求职旅社 务实 内心情感 引人 烧烤加盟 高职高专 我恨不得 上二楼 广州市劳动局 事项 书刊 成都立体构成培训学校 绵阳师范 赏心 力量犹小 两手准备 交到 团队 报关考试 酝酿出国 乌龙茶 理由 三大学生 国内大学 随叫随到 外国语 六份工作 窍门 已毕业 三个女人 修补漏洞 北京助考 人才引进 2009 剑道、武术、时尚运动、空手道、跆拳道、体育 征战
    随机推荐
    吉林大学2003年硕士研究
    吉林大学2000年硕士研究
    吉林大学2000年硕士研究
    吉林大学2002年硕士研究
    吉林大学2001年硕士研究
    吉林大学2002年硕士研究
    吉林大学2003年硕士研究
    吉林大学2002年硕士研究
    东北师范大学2002年硕士
    吉林大学1994年硕士研究
    吉林大学2004年硕士研究
    吉林大学2002年硕士研究
    吉林大学1999年硕士研究
    吉林大学2003年硕士研究
    吉林大学2000年硕士研究
    吉林大学1991年硕士研究
    吉林大学2002年硕士研究
    吉林大学1992年硕士研究
    吉林大学2004年硕士研究
    吉林大学2001年硕士研究
    最新热门
    吉林大学2003年硕士研究生入学考试分析化学(含仪器分析)
    吉林大学2003年硕士
    吉林大学2004年硕士研究生入学考试理论力学
    吉林大学2004年硕士
    吉林大学2003年硕士
    吉林大学2000年硕士
    吉林大学2004年硕士
    吉林大学2004年硕士
    吉林大学2004年硕士
    吉林大学2003年硕士
    吉林大学2002年硕士
    吉林大学2004年硕士
    吉林大学2001年硕士
    吉林大学2000年硕士
[关于我们]  [网络合作]  [广告服务]  [网站记事]  [联系我们]  [网站地图]
四川大学生联盟 蜀ICP备05017152号 Copyright © 2001-2007 All Rights Reserved.