菜鸟刚开始学c++,求大神看看这个代码有什么问题呢?

2025-01-07 07:56:30
推荐回答(1个)
回答1:

撇开效率和精度不谈,程序本身有三处错

  1. int PI=0;

    int应该改成double

  2. PI=16*arctan(1/5)-4*arctan(1/239);

    1/5和1/239是整数除法,结果都是0,应该用实数除法,比如1.0/5.0

  3. for(int i=0;power(x,2*i+1)/(2*i+1)<=1/power(10,15);i++)

    中间的<=改成>=,因为通项足够小是停机条件,而不是循环执行的条件