就业数据资源平台
当前位置:首页 > C语言程序设计
2014年计算机二级C语言上机模拟试题72

 给定程序中,函数fun的功能是计算下式 

  例如:若形参e的值为1e-3,函数的返回值为0.551690。 


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


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


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


  给定源程序: 


  #include  


  double fun(double e) 


  { int i, k; double s, t, x; 


  s=0; k=1; i=2; 


  x=__1__/4; 


  while(x __2__ e) 


  { s=s+k*x; 


  k=k* (-1); 


  t=2*i; 


  x=__3__/(t*t); 


  i++; 


  } 


  return s; 


  } 


  main() 


  { double e=1e-3; 


  printf("\nThe result is: %f\n",fun(e)); 


  }


  解题思路: 


  第一处:根据公式,首项应该是3.4,所以应填:3.。 


  第二处:当x大于e时,循环体才会运行,所以应填:>。 


  第三处:分子的值是2i+1,所以应填:2*i+1。 


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


  给定程序MODI1.C中函数 fun 的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。 


  2 3 5 8 13 21 


  ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , …… 


  1 2 3 5 8 13 


  例如,若n = 5,则应输出:8.391667。 


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


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


  给定源程序: 


  #include  


  fun ( int n ) 


  { int a, b, c, k; double s; 


  s = 0.0; a = 2; b = 1; 


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


  s = s + (Double)a / b; 


  c = a; a = a + b; b = c; 


  } 


  return s; 


  } 


  main( ) 


  { int n = 5; 


  printf( "\nThe value of function is: %lf\n", fun ( n ) ); 


  }


 解题思路: 


  第一处:由于计算的实型值要通过函数返回,所以必须定义函数的返回类型,只要int或void可以省略,其他都要定义类型。由于返回是实型值,所以应在数名前加上double或float等定义。 


  第二处:double的第1个字母错写成大写D。 


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


  请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。 


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


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


  给定源程序: 


  #include  


  #define M 4 


  fun (int a[][M]) 


  { 


  } 


  main( ) 


  { int arr[2][M]={5,8,3,45,76,-4,12,82} ; 


  printf("max =%d\n", fun(arr)) ; 


  NONO( ) ; 


  }


  解题思路: 


  本题是求出一个2×M整型二维数组中最大元素的值。 


  参考答案: 


  fun (int a[][M]) 


  { 


  int i, j, max=a[0][0]; 


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


  for(j=0; j  if(max  return max; 


  } 


  ※※※※※※※※※※※※※※※※※※※※※※※※※

就业数据资源平台