计算π的近似值,π的计算公式为:

问题描述:

计算π的近似值,π的计算公式为:
π=2*(2^2)/(1*3)*.*(2n)^2/(2n-1)(2n+1)
要求:精度为10-5,并输出n的大小
下面是我自己写的,运行测试卡在3.14121就不变化了,
#include
#include
using namespace std;
int main()
{
int n=1;
float pi=2,a,b;
while(fabs(pi-3.141592)>0.000001)
{
a=4*n*n;//该方法按照公式计算,n就是公式里的n
b=4*n*n-1;
pi=pi*a/b;
n++;
}
cout

我看了一遍,1) 的程序上没有问题我猜测 float 是精确到小数点后7位,同时在编译器中转化的时候会有精度损失因为现在的编译器都是将float型转化成为double型的来进行计算的pi=pi*a/b;这一步的精度损失不可预计.建议把f...额。。我刚试运行了一下,不行。根据课本上给出的源程序也无法得到3.141592...另外,谢谢夸奖哈。就是不正确。#includemain(){int n,i;double sum;printf("请输入n的值\n");scanf("%d",&n);sum=2;i=1;while(i