函数fun的功能是:计算 直到,若x=2.5,函数值为:1.917915。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程

admin2018-09-27  26

问题 函数fun的功能是:计算

直到,若x=2.5,函数值为:1.917915。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
1  #include<stdio.h>
2  #include<math.h>
3  double fun(double x)
4  { double f,t;int n;
5  f=1.0+x;
6  /**********found**********/
7    t=___1___;
8    n=1;
9    do{
10    n++;
11  /**********found**********/
12  t *=(-1.0)*x/ ___2___;
13    f+=t;
14    }
15  /**********found**********/
16    while(___3___>=1e-6);
17  return f;
18  }
19  main()
20  {double x,y;
21  x=2.5;
22  y=fun(X);
23  printf(’’\nThe resuit is:\n’’);
24  printf("x=%-12.6f  y=%-12.6f\n’’,x,y);
25  }

选项

答案(1)x (2)n (3)fabs(t)

解析 函数fun的功能是计算级数和。  第一空:“f=1.0+x;”f的初始化为级数的前两项之和,do while循环从第三项x2/2开始计算,第一空处是给t赋初值,t表示级数项,“n++;t*=(-1.0)*x/__2__;”即第一次进入do循环之后n的值为2,故t的初值应该为x,第一空处应为“x”。
    第二空:由审题分析可知,后一项乘(-1)*x除以n,故第二空处应为“n”。
    第三空:循环的终止条件是(xn/n!)的绝对值小于1e-6,即只要(xn/n!)大于等于1e-6,do循环就执行,故第三处应为“fabs(t)”,labs函数的功能是求绝对值。
转载请注明原文地址:https://kaotiyun.com/show/g8xp777K
0

最新回复(0)