试题

计算机二级考试试题库

时间:2025-05-31 13:53:02 试题 我要投稿

2016年计算机二级考试试题库

  给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所 在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长

2016年计算机二级考试试题库

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

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

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

  给定源程序:

  #include

  #define M 5

  #define N 20

  int fun(char (*ss) ___1___, int *n)

  { int i, k=0, len=0;

  for(i=0; i

  { len=strlen(ss[i]);

  if(i==0) *n=___2___;

  if(len>*n) {

  ___3___;

  k=i;

  }

  }

  return(k);

  }

  main()

  { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};

  int n,k,i;

  printf("\nThe original strings are :\n");

  for(i=0;i

  k=fun(ss,&n);

  printf("\nThe length of longest string is : %d\n",n);

  printf("\nThe longest string is : %s\n",ss[k]);

  }

  解题思路:

  第一处:形参ss的定义,它是一个字符串数组的定义,其宽度为N,所以应填:N。

  第二处:取第一个字符串的长度赋值给变量*n,所以应填:len。

  第三处:每循环一次,判断当前字符串的长度是否大于*n,如果大于,则*n=len。

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

  给定程序MODI1.C中 fun 函数的功能是: 根据形参m,计算如下公式的值。 1 1 1 1

  t = 1 + ----- +----- + ----- + ……+ -----

  2 3 4 m

  例如,若输入 5,则应输出 2.283333。

  请改正程序中的错误或在下划线处填上适当的内容并把下划线删除, 使它能计算出正确的结果。

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

  给定源程序:

  #include

  double fun( int m )

  {

  double t = 1.0;

  int i;

  for( i = 2; i <= m; i++ )

  t += 1.0/k;

  ________

  }

  main()

  {

  int m;

  printf( "\nPlease enter 1 integer number:" );

  scanf( "%d", &m );

  printf( "\nThe result is %lf\n", fun( m ) );

  }

  解题思路:

  第一处:在此变量k没有定义过,再根据公式和for循环语句中所用的变量可知,这里的k实际上是i。

  第二处:应是返回公式的值,函数中公式的值是存放在临时变量t中,所以应填return t;。

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

  编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为: asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。

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

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

  给定源程序:

  #include

  #include

  int fun(char *str,char *substr)

  {

  }

  main()

  {

  char str[81],substr[3];

  int n;

  printf("输入主字符串: ");

  gets(str);

  printf("输入子字符串: ");

  gets(substr);

  puts(str);

  puts(substr);

  n=fun(str,substr);

  printf("n=%d\n",n);

  NONO();

  }

  解题思路:

  本题是统计一个字符串在另一个字符串中出现的次数。

  程序流程如下:

  1. 利用strstr函数,首先找到第一个出现的位置。

  2. 利用while循环和strstr依次查找所有出现的位置,并进行统计,并把统计结果作为函

  数值返回。

  strstr(const char *s1, const char *s2)是字符串s2在s1中出现的位置,如果找到则返回位置指针。

  参考答案:

  int fun(char *str,char *substr)

  {

  int cnt = 0 ;

  char *p = str, *q ;

  while(*p) {

  q = strstr(p, substr) ;

  if(q == NULL) break;

  p = q + strlen(substr) ;

  cnt++ ;

  }

  return cnt ;

  }

  main()

  {

  char str[81],substr[3];

  int n;

  printf("输入主字符串: ");

  gets(str);

  printf("输入子字符串: ");

  gets(substr);

  puts(str);

  puts(substr);

  n=fun(str,substr);

  printf("n=%d\n",n);

  NONO();

  }

【计算机二级考试试题库】相关文章:

计算机二级考试题库08-03

计算机二级考试题库201608-17

计算机二级考试题库下载10-06

计算机二级考试试题库201610-15

计算机二级考试题库及答案08-03

精选计算机二级考试题库及答案06-15

2016计算机二级考试题库及答案06-23

全国计算机二级vb考试题库10-31

2015计算机二级c语言考试题库08-03