请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。 S=1+x+x2/2!3/3!+…/xn/n! 例如,当n=10,x=0.3时,函数值为1349859。 注意:部分源程序给出如下。 请勿改动主函数main和其他函

admin2010-09-14  21

问题 请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。
   S=1+x+x2/2!3/3!+…/xn/n!
   例如,当n=10,x=0.3时,函数值为1349859。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。
   试题程序:
   #include<conio.h>
   #include<stdio.h>
   #include<math.h>
   double fun(double x, int n)
   {
   }
   main ()
   {
     clrscr ();
     printf ("%f ",fun(0,3,10));
   }

选项

答案double fun(double x,int n) { int i; double s=1.0.s1=1.0; for(i=1;i<=n;i++) {s1=s1*i; /*各项中的阶乘*/ s=s+ pow(x,i)/s1; /*按公式求出*/ } return s; }

解析 本程序中用s1来表示每项的分母(即各项中的阶乘),要注意本程序中s和s1的初值都为1。
转载请注明原文地址:https://kaotiyun.com/show/MWID777K
0

最新回复(0)