meideshiwoa 2023-02-23 00:34 采纳率: 50%
浏览 29

这个代码错误在哪里?


#include<stdio.h>
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;
}

  • 写回答

2条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-02-23 00:59
    关注

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

    #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;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月23日