当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机题库及答案(81)
发布时间:2011/10/1 9:40:20 来源:城市学习网 编辑:ziteng
  一、填空题:给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所 指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。

  请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

  注意:源程序存放在考生文件夹下BLANK1.C中。

  不得增行或删行,也不得更改程序的结构!

  给定源程序:

  #include

  #include

  #define N 5

  #define M 8

  int fun(char (*ss)[M],char *t)

  {int i;

  /**********found**********/

  for(i=0; i< __1__ ; i++)

  /**********found**********/

  if(strcmp(ss[i],t)==0) return __2__ ;

  return -1;

  }

  main()

  {char ch[N][M]={"if","while","switch","int","for"}, t[M];

  int n,i;

  printf("\nThe original string\n\n");

  for(i=0;i

  printf("\nEnter a string for search: "); gets(t);

  n=fun(ch,t);

  /**********found**********/

  if(n== __3__) printf("\nDon't found!\n");

  else printf("\nThe position is %d .\n",n);

  }

  解题答案:

  /**********第一空**********/

  for(i=0; i< N ; i++)

  /**********第二空**********/

  if(strcmp(ss[i],t)==0) return i ;

  /**********第三空**********/

  if(n==-1) printf("\nDon't found!\n");

  ****************************************** [NextPage]    二、改错题:给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为

  函数值返回。规定,函数中a1放个位数,a2放十位数。

  请改正程序中的错误,使它能得出正确结果。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

  给定源程序:

  #include

  int fun(int *b)

  {int k,a1,a2,i=0;

  for(k=10; k<=55; k++) {

  /************found************/

  a2=K/10;

  a1=k-a2*10;

  if((k%3==0 && a2==5)||(k%3==0 && a1==5))

  {b[i]=k; i++;}

  }

  /************found************/

  return k;

  }

  main()

  {int a[100],k,m;

  m=fun(a);

  printf("The result is :\n");

  for(k=0; k

  }

  解题答案:

  /************found************/

  a2=k/10;

  /************found************/

  return i;

  ******************************************

[NextPage]   三、程序题:假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。

  例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。

  注意: 部分源程序在文件PROG1.C文件中。

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  给定源程序:

  #include

  void fun(char *a)

  {

  }

  main()

  {char s[81];void NONO ();

  printf("Enter a string:\n");gets(s);

  fun(s);

  printf("The string after deleted:\n");puts(s);

  NONO();

  }

  void NONO ()

  {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */

  FILE *in, *out ;

  int i ; char s[81] ;

  in = fopen("in.dat","r");

  out = fopen("out.dat","w");

  for(i = 0 ; i < 10 ; i++) {

  fscanf(in, "%s", s);

  fun(s);

  fprintf(out, "%s\n", s) ;

  }

  fclose(in);

  fclose(out);

  }

  参考答案:

  void fun( char *a )

  {

  char *p = a ;

  while(*p) p++ ; p-- ;

  while(*p == '*') p-- ;

  p++ ;

  *p = 0 ;

  }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved