Shinone+const 2022-09-28 16:28 采纳率: 92%
浏览 162
已结题

计算近似值结果错误。

问题

img

尝试用自己的思路,结果错了也不知道为什么

#include<stdio.h>
int main(void)
{
    int n, i;
    float p;
    double E = 0;

    for (n = 1; ; n++)
    {
        p = 1;
        for (i = 1; i <= n; i++);//计算阶乘
        {
            p = p * i;


        }
        E = E + (1 / p);
        if ((1/p) - (1e-5) < 0)
         break;
    }
    E = E + 1;

    printf("%.6lf %d", E, n);


    return 0;
}






codeblocks输出结果:
12.090146 99999
Process returned 0 (0x0) execution time : 2.095 s
Press any key to continue.

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 16:48
    关注

    for (i = 1; i <= n; i++);//计算阶乘
    for循环后面的分号删掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月28日