问题 问答题

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

main()

clrscr();
printf("%f ",fun (0.5,15));

答案

参考答案:

double fun(double x, int n)

{

int i,j=A;

double s=A.0,sA=A.0;

for(i=A;i<=n;i++)

{

j=-A*j;

sA=sA*i /*各项中的阶乘*/

s=s+j*pow(x,i)/sA; /*按公式求出*/

}

return s;

}

解析:

本程序中用s1来表示每项的分母(即各项中的阶乘),要注意本程序中s和s1的初值都为1。注意到本题的公式中是加减相间的,这里要学会使用语句j=-1*j来实现。

单项选择题
单项选择题