我帮你修改过了,这样可以得到正确答案:
#include <stdio.h>
int main()
{
float fun();
printf("The value of e: %f\n", fun());
}
float fun()
{
float term, e = 1.0f;
int k, n = 1, i;
while(true)
{
k = n;
for(i = n - 1; i >= 1; i--)
k *= i;
term = 1.0f / k;
if(term > 1e-6)
e += term;
else
break;
n++;
}
return e;
}
e 的累加,要放到循环里
for(i =1 ;i <= n;i++)
{
k *= i;
e += 1.0 / k;
}