帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 19:04:41
帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时

帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时
帮忙解决一道初级编程题~
π 的值可以用以下公式近似求得:
令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.
编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时括号中参与运算的总项数,输出这两个结果.
我的程序如下:
#include
#include
int main()
{
int n;
double a,b,c,f,PI=0;
for(n=1;;n++)
{
a=2*n-1;
if(n/2==0) b=-1;
else b=1;
c=b/a;
PI=4*PI+4*c;
f=fabs(c);
if(f

帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时
两处修改建议,
第一,if (n/2 == 0),应该修改成if (n % 2 == 1),判断奇偶应该用是否可以被2整除而不是除以2.
第二,PI 的累积求和不应该是PI=4*PI+4*c;
在定义PI的时候应该先赋给初值4.0,
然后PI=4*PI+4*c的这句修改成
PI += c;即可做到累计求和了.
这句修改也是配合if (n%2)来的,如果按n%2 == 0来处理,就应该PI -= c;
如果按照n%2 == 1来处理,就是PI += c;