和要求的运行结果有出入😭

img

img


帮忙看看哪里还有问题吧,结果差了一点,实在是找不到错误了,谢谢大家

我帮你修改过了,这样可以得到正确答案:

#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 的累加,要放到循环里

img

      for(i =1 ;i <= n;i++)
      {
            k *= i;
            e += 1.0 / k;
      }