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

admin2019-03-19  17

问题 编写函数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,’’%1f,%d’’,&x,&n),
20  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/PBRp777K
0

最新回复(0)