在给定程序中,函数fun的功能是:计算
的前n项,若x=2.5,n=15时,函数值为:1.917915。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<math.h>
double fun(double x,int n)
double f,t; int i;
/**********found**********/
f= (1) ;
t=-1;
for(i=1;i<=n;i++)
/**********found**********/
t*=( (2) )*x/i;
/**********found**********/
f+= (3) ;
return f;
void main( )
double x,y;
x=2.5;
y=fun(x,15);
printf("\nThe result is:\n");
printf("x=%-12.6f y=%-12.6f\n",x,y);
参考答案:t
解析:
通过分析发现,程序考的是循环累加、累乘、累除算法。fun函数中,变量f是循环累加变量,用于存放公式的结果,并作为函数值返回;变量t存放累加的每一项的值,并且要正确处理正、负交替的变化。第1空是在进入循环前,应该是对变量f赋初值,从循环体中我们发现,t是从公式的第二项开始处理的,所以f的初值赋为1。对于第2空,公式中每一项的绝对值的变化规律是后一项在前一项的基础上乘以x除以i,在此基础上乘以-1即可处理正负交替变化,所以第2空处应填入-1。对于第3空,变量f完成循环累加,所以加上变量t。