注册 登录
编程论坛 C语言论坛

C语言课后习题

xxy041610 发布于 2019-08-11 13:41, 1635 次点击
这是一个求π近似值以及循环次数的程序,请教各路高手有什么问题,我运行不出来。
#include<stdio.h>
#include<math.h>
int main()
{
    int n = 1, sign = 1, m = 0;
    double pi = 0.0, t=1.0;
    while (fabs(t) >= 1e-6)
    {
        pi = pi + t;
        n = n + 2;
        sign = -sign;
        t = sign / n;
        m++;
    }
    pi = pi * 4;
    printf("%f,%d", pi , m);
    return 0;
}
答案是这个,你们参考下:
#include<stdio.h>
#include<math.h>
int main()
{
    int sign = 1, count = 0;
    double pi = 0.0, n = 1.0, term = 1.0;
    while (fabs(term) >= 1e-6)
    {
        pi = pi + term;
        n = n + 2;
        sign = -sign;
        term = sign / n;
        count++;
    }
    pi = pi * 4;
    printf("%10.6f,%d", pi, count);
    return 0;
}

[此贴子已经被作者于2019-8-11 14:02编辑过]

2 回复
#2
TysonKoothra2019-08-11 15:09
n 应该定义为浮点数。double n = 1.0;
t = sign/n; 这里如果n 是整型:sign / n = 0,然后t = 0.0
#3
xxy0416102019-08-14 16:45
多谢多谢
1