这个代码错误在哪里?


#include
int main(void)
{
    double term, result=1;
    int n;
    for (n = 2; n <= 100; n = n + 2)
    {
        term = (n * n) / ((n - 1)(n + 1));
        result = result * term;
    }
    printf("PI=%f\n", 2 * result);
    return 0;
}

这是求π的近似值的一种方式,参考如下:

#include <stdio.h>
#include <math.h>
int main(){
    double term,result=1;
    int n;
    for(n=2;n<=100;n+=2){
        // 这里结果要强转成double类型,另外 n-1 和 n+1 相乘要用 * 号
        term=(double)(n*n)/((n-1)*(n+1)); 
        result*=term;
    }
    printf("PI=%lf\n", 2*result);
    return 0;
}