}
其功能是计算并输出多项式Sn=1+1/1!+1/2!+1/3!+1/4!+....+1/n!;的值
为什么下面这个函数不行
double fun(int n){ double f=0.0,t=1.0;int i; for(i=1;i<n;i++) { t*=(1/i); f+=t; } return f; }
注意两个函数的区别:第一个函数有两个for嵌套,第二个只有一个for循环,第二个函数中,每乘一个数,就加一次,而需求是:算好阶乘后,再相加,出来的结果当然不一样。
注意运算的顺序。
i<=n误为i<n
这些计算结果都是小数,而使用1/i后结果都是0了。
可以使用1.0f/(double)i