当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机题库及答案(76)
发布时间:2011/9/30 11:31:18 来源:城市学习网 编辑:ziteng
  一、填空题:给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。

  例如,形参s所指的字符串为:This is a C language program.,函数的返回值为6。

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

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

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

  给定源程序:

  #include

  int fun(char *s)

  {int n=0, flag=0;

  while(*s!='\0')

  {if(*s!=' ' && flag==0) {

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

  __1__ ; flag=1;}

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

  if (*s==' ') flag= __2__ ;

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

  __3__ ;

  }

  return n;

  }

  main()

  {char str[81]; int n;

  printf("\nEnter a line text:\n"); gets(str);

  n=fun(str);

  printf("\nThere are %d words in this text.\n\n",n);

  }

  解题答案:

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

  n++ ; flag=1;}

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

  if (*s==' ') flag= 0 ;

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

  s++ ;

  ****************************************** [NextPage]   二、改错题:给定程序MODI1.C中函数 fun 的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。

  例如,若输入 8 名学生的成绩:80.5 60 72 90.5 98 51.5 88 64

  则低于平均分的学生人数为: 4 (平均分为:75.5625 )。

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

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

  给定源程序:

  #include

  #define N 20

  int fun (float *s, int n, float *aver)

  {float ave, t = 0.0 ;

  int count = 0, k, i ;

  for (k = 0 ; k < n ; k++)

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

  t = s[k] ;

  ave = t / n ;

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

  if (s[i] < ave) count++ ;

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

  *aver = Ave ;

  return count ;

  }

  main()

  {float s[30], aver ;

  int m, i ;

  printf ("\nPlease enter m: "); scanf ("%d", &m);

  printf ("\nPlease enter %d mark :\n ", m);

  for(i = 0 ; i < m ; i++) scanf ("%f", s + i);

  printf("\nThe number of students : %d \n" , fun (s, m, &aver));

  printf("Ave = %f\n", aver);

  }

  解题答案:

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

  t+=s[k];

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

  *aver=ave;

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

 [NextPage]   二、改错题:给定程序MODI1.C中函数 fun 的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。

  例如,若输入 8 名学生的成绩:80.5 60 72 90.5 98 51.5 88 64

  则低于平均分的学生人数为: 4 (平均分为:75.5625 )。

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

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

  给定源程序:

  #include

  #define N 20

  int fun (float *s, int n, float *aver)

  {float ave, t = 0.0 ;

  int count = 0, k, i ;

  for (k = 0 ; k < n ; k++)

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

  t = s[k] ;

  ave = t / n ;

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

  if (s[i] < ave) count++ ;

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

  *aver = Ave ;

  return count ;

  }

  main()

  {float s[30], aver ;

  int m, i ;

  printf ("\nPlease enter m: "); scanf ("%d", &m);

  printf ("\nPlease enter %d mark :\n ", m);

  for(i = 0 ; i < m ; i++) scanf ("%f", s + i);

  printf("\nThe number of students : %d \n" , fun (s, m, &aver));

  printf("Ave = %f\n", aver);

  }

  解题答案:

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

  t+=s[k];

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

  *aver=ave;

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

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