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

admin2016-10-29  30

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

若x=2.5,函数值为:1.917915。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANKl.C中。
  不得增行或删行,也不得更改程序的结构!
#inolude
#inolude
double fun(double x)
{double f,t;int n;
  f=1.0+x;
/**********found**********/
  t=_____1_____;
  n=1;
  do{
    n++;
/**********found**********/
    t *=(一1.0)*x/_____2_____;
    f+=t;
    }
/**********found**********/
    while(_____3_____>=1e一6);
  return f;
}
main()
{double x,y;
  x=2.5;
  y=fun(x);
  printf("\nThe result is:\n");
  printf("x=%一12.6f y=%一12.6f\n",
x,y);
}

选项

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

解析 第一空:“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!)的绝对值小于le-6,即只要(x0/n!)大于等于le-6,do循环就执行,故第三处应为“fabs(t)”,fabs函数的功能是求绝对值。
转载请注明原文地址:https://jikaoti.com/ti/GWi0FFFM
0

最新回复(0)