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

admin2013-03-29  32

问题 函数fun的功能是:计算直到。若x=2.5,函数值为:1.917915。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的RLANKI.C中。
    不得增行或删行,也不得更改程序的结构!
#include
#include
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】>=le-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,即只要(xn/n!)大于等于le-6,do循环就执行,故第三处应为“labs(t)",fabs函数的功能是求绝对值。
转载请注明原文地址:https://kaotiyun.com/show/9WJp777K
0

最新回复(0)