编程强人帮忙看看哪里错了

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:56:46
#include <iostream>
#include <math.h>
using namespace std;
long double main()
{ long double n=0,k,pi;
int i=1;
do
{ k=1/(2*i-1);
n=n+pow(-1,i+1)*k;
i++;
} while (k<0.00000001);
pi=4*n;
cout << "Pi is:" << pi << endl;
return 0;
}

(k>0.00000001); 改大于

#include <iostream>
#include <math.h>
using namespace std;
long double main()
{
long double n=0,k,pi;
int i=1;
do
{
k=1.0/(2*i-1);//整型数计算结果会被取整型,改为double
n=n+pow(-1,i+1)*k;
i++;
} while (k>0.00000001);//<的话,根本就不执行第二次
pi=4*n;
cout << "Pi is:" << pi << endl;
return 0;
}

你们都试着运行了吗?