当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机题库及答案(27)
发布时间:2011/8/29 11:18:00 来源:城市学习网 编辑:ziteng
  一、填空题:给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

  例如,s所指字符串为:baacda,c中的字符为:a,

  执行后s所指字符串为:baaaacdaa。

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

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

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

  给定源程序:

  #include

  void fun(char *s, char c)

  {int i, j, n;

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

  for(i=0; s[i]!=___1___ ; i++)

  if(s[i]==c)

  {

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

  n=___2___ ;

  while(s[i+1+n]!='\0') n++;

  for(j=i+n+1; j>i; j--) s[j+1]=s[j];

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

  s[j+1]=___3___ ;

  i=i+1;

  }

  }

  main()

  {char s[80]="baacda", c;

  printf("\nThe string: %s\n",s);

  printf("\nInput a character: "); scanf("%c",&c);

  fun(s,c);

  printf("\nThe result is: %s\n",s);

  }

  解题答案:

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

  for(i=0; s[i]!=0 ; i++)

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

  n=0 ;

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

  s[j+1]=c ;

  ****************************************** [NextPage]   二、改错题:在主函数中从键盘输入若干个数放入数组中, 用0结束输入并放在最后一个元素中。给定程序MODI1.C中函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。

  例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,

  则程序的运行结果为:19.250000。

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

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

  给定源程序:

  #include

  double fun (int x[])

  {

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

  int sum = 0.0;

  int c=0, i=0;

  while (x[i] != 0)

  {if (x[i] > 0) {

  sum += x[i]; c++;}

  i++;

  }

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

  sum \= c;

  return sum;

  }

  main()

  {int x[1000]; int i=0;

  printf("\nPlease enter some data (end with 0): ");

  do

  {scanf("%d", &x[i]);}

  while (x[i++] != 0);

  printf("%f\n", fun (x));

  }

  解题答案:

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

  double sum=0.0;

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

  sum /=c;

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

 [NextPage]   三、程序题:编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

  1 1 1

  S=1 + ── + ─── + ... + ──────

  1+2 1+2+3 1+2+3+...+n

  例如:若n的值为11时,函数的值为:1.833333

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

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

  给定源程序:

  #include

  double fun(int n)

  {

  }

  main()

  {int n; double s;

  void NONO ();

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

  s = fun(n);

  printf("the result is: %f\n", s);

  NONO();

  }

  void NONO ()

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

  FILE *fp, *wf ;

  int i, n ;

  double s;

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

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

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

  fscanf(fp, "%d", &n);

  s = fun(n);

  fprintf(wf, "%f\n", s);

  }

  fclose(fp);

  fclose(wf);

  }

  参考答案:

  float fun(int n)

  {

  int i,j,t;

  float s=0;

  for(i=1;i<=n;i++) {

  t=0;

  for(j=1;j<=i;j++) t+=j;

  s=s+1./t;

  }

  return s;

  }

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