编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n=10,x=0.3时,函数值为1.349859。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入

admin2017-07-27  15

问题 编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

  例如,当n=10,x=0.3时,函数值为1.349859。
  注意:部分源程序在文件PROG1.C文件中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1   #include<stdio.h>
2  #include<math.h>
3  double fun(double x,int n)
4  {
5  }
6   main()
7  {  void NONO();
8   printf(’’%f\n’’,fun(0.3,10));
9  NONO();
10  }
11   void NONO()
12  {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
13   FILE *fp,*wf;
14  int i,n;
15   double s,x;
16    fp=fopen(’’in.dat’’,’’r’’);
17    wf=fopen(’’out.dat’’,’’w’’);
18   for(i=0;i<10;i++){
19   fscanf(fp,’’%if,%d’’,&x,&n);
2    s=fun(x,n);
21    fprintf(wf,’’%f\n’’,s);
22    }
23   fclose(fp);
24   fclose(wf);}

选项

答案1 double s=1.0,y=x ; 2 int i; 3 long k=1; 4 for(i = 1 ; i <=n ; i++) { 5 k=k*i; 6 s += y / k ; 7 y *=x ; 8 } 9 return s ;

解析 (1)根据题干中给出的数列,推出每一项分子是在前一项的基础上乘以x,分母是每一项的阶乘,它可以在前一项的基础上乘以当前项的项数,即第n项是n。
(2)在循环中求得每一项,然后对其进行累加求和。
转载请注明原文地址:https://kaotiyun.com/show/m7Dp777K
0

最新回复(0)