请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直到|S(n)-S(n-1)|<0.000001为止.

函数是:Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)。。。。

{
int i,n;
double s=1.0,m=1.0,t=1.0;
for(i=1;i<=n;i++)
do{
t*=i;
m*=(0.5-i+1);
s+=m/t*pow(x,i);
} while(fabs(s- m/t*pow(x,i))>1.0e-6);
return s;
}
可我运行的结果为什么和答案不一样呢??

.double fun(double x)

{double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;

int n=1;

do

{s0=s1;

sum+=s0;

t*=n;

p*=(0.5-n+1)*x;

s1=p/t;

n++;}while(fabs(s1-s0)>1e-6);

return sum;}


扩展资料

C/C++语言中,fun函数通常被主函数所调用。它是指用fun来定义一个函数(或方法),这样在引用时可以用fun表示。比如int fun(int x,int y),void fun(char* a,char* b) 等等。有先前的定义,就可以在主函数里调用它,比如ans=fun(3,7);或者fun(p1,p2);。

fun函数是自定义函数。fun一词没有其它意思,只是在调用时用这个单词表示该函数。

温馨提示:答案为网友推荐,仅供参考