2013年计算机二级C语言上机题库四十六_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年6月7日
 第二题:已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项之和。下列给定程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=10时,程序输出结果应为23.197745。
  请改正程序中的错误,使程序能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include <conio.h>转自:考试站 examzz.com
  #include <stdio.h>
  #include <math.h>
  /********found********/
  fun(int n)
  {
  double sum, s0, s1, s2, s;
  int k;
  sum = 1.0;
  if (n <= 2)
  sum = 0.0;
  s0 = 0.0;
  s1 = 0.0;
  s2 = 1.0;
  for (k=4; k<=n; k++)
  {
  s = s0+s1+s2;
  sum += sqrt(s);
  s0 = s1;
  s1 = s2;
  s2 = s;
  }
  /********found********/
  return sum
  }
  main()
  {
  int n;
  printf("Input N=");
  scanf("%d", &n);
  printf("%lf\n", fun(n));
  }
  参考答案第二题:
  第一处fun(int n)应改为 double fun(int n)
  第二处 return sum应改为 return sum;

相关文章