当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(51)
发布时间:2011/7/17 18:07:53 来源:城市学习网 编辑:ziteng
  第一题:请补充fun函数,该函数的功能是把从键盘输入的3 个整数 按从小到大输出。
  例如:输入场23 32 14, 结果输出14 23 32 。
  注意:部分源程序给出如下。
  仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
  #include
  #include
  main()
  {
  int  x, y, z, t;
  printf("Input x,y,z\n");
  scanf("%d%d%d", &x, &y, &z);
  if (___1___)
  {
  t = x;
  x = y;
  y = t;
  }     /* 交换x,y的值 */
  if (___2___)
  {
  t = z;
  z = x;
  x = t;
  }     /* 交换x,z的值 */
  if (___3___)
  {
  t = y;
  y = z;
  z = t;
  }     /* 交换z,y的值 */
  printf("******the result*******\n");
  printf("from small to big: %d %d %d\n", x, y, z);
  }
  参考答案
  第1处填空:x>y或y第2处填空:x>z或z第3处填空:y>z或z [NextPage]   第二题:下列给定程序中,函数fun的功能是:将m(1<=m<=10)个字符串连接起来,组成一个新串,放在pt所指字符串中。例如:把3个串abc,CD,EF串连起来,结果是abcCDEF。
  请改正程序中的错误,使它能计算出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序结构!
  #include
  #include
  #include
  /********found********/
  void fun(char  str[][], int  m, char  *pt)
  {
  int  k, q, i;
  for (k=0; k       {
  q = strlen(str[k]);
  /********found********/
  for (i=0; i                     pt[i] = str[k,i];
  pt += q;
  pt[0] = 0;
  }
  }
  main()
  {
  int  m, h;
  char  s[10][10], p[120];
  printf("\nPlease enter m:");
  scanf("%d", &m);
  gets(s[0]);
  printf("\nPlease enter  %d string:\n", m);
  for (h=0; h              gets(s[h]);
  fun(s, m, p);
  printf("\nThe result  is : %s\n", p);
  }
  参考答案:
  第1处:void fun(char str[][],int m,char *pt)应改为 void fun ( char str[][10], int m,char *pt)
  第2处:pt[i]=str[k,i];应改为 pt[i]=str[k][i];
  [NextPage]   第二题:下列给定程序中,函数fun的功能是:将m(1<=m<=10)个字符串连接起来,组成一个新串,放在pt所指字符串中。例如:把3个串abc,CD,EF串连起来,结果是abcCDEF。
  请改正程序中的错误,使它能计算出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序结构!
  #include
  #include
  #include
  /********found********/
  void fun(char  str[][], int  m, char  *pt)
  {
  int  k, q, i;
  for (k=0; k       {
  q = strlen(str[k]);
  /********found********/
  for (i=0; i                     pt[i] = str[k,i];
  pt += q;
  pt[0] = 0;
  }
  }
  main()
  {
  int  m, h;
  char  s[10][10], p[120];
  printf("\nPlease enter m:");
  scanf("%d", &m);
  gets(s[0]);
  printf("\nPlease enter  %d string:\n", m);
  for (h=0; h              gets(s[h]);
  fun(s, m, p);
  printf("\nThe result  is : %s\n", p);
  }
  参考答案:
  第1处:void fun(char str[][],int m,char *pt)应改为 void fun ( char str[][10], int m,char *pt)
  第2处:pt[i]=str[k,i];应改为 pt[i]=str[k][i];
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved