搜索内容

有一个问题?

如果您有任何疑问,可以在下面询问或输入您要寻找的!

请问我是想求bai的值,但是显示框里是0.000000,谢谢大佬们啦。

技术聚客 未结 4 878
小花仙仙
小花仙仙 2021-02-25 11:39
#include <stdio.h> #include <math.h> int main() { int sign; double pi, deno, part; for (deno = 1.0, sign = 1, pi = 0.0; fabs(part) >= 1e-6; deno += 2, sign = -sign) { part = sign / deno; pi += part; } printf("PI的值为:%10.8f", pi * 4); return 0; }

 

相关标签:
4条回答
  • 2021-02-25 11:52

    part初始值是0,for循环一次都进不去,建议可以把这段放在for语句前面

    sign = 1;
    deno = 1.0;
    part = sign / deno;

    其他内容不变

    0 讨论(0)
  • 2021-02-25 11:54

    应该是part初始值为0,导致一开始fabs(part) >= 1e-6为false,没有进入循环。可以初始化赋值为1

    0 讨论(0)
  • 2021-02-25 11:54

    part没有赋值,for循环无效

    0 讨论(0)
  • 2021-02-25 12:13

    你的part没有赋初值,就直接进行比较了,导致的结果是for循环没有执行。

    这种问题你多调试下就知道

    0 讨论(0)
提交回复