利用公式PI=4*(1-1/3+1/5-1/7……). 要求:直到最后一项的绝对值小于10的负8次方。运行结果总是4~
我写的代码~#include<iostream>#include<cmath>usingnamespacestd;intmain(){constdoubleeps=1e-...
我写的代码~
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const double eps=1e-8;
double x=0,y=2,n=1,PI;
do
{
x=pow(-1,y)*(1/n)+x;
y=y+1;
n=n+2;
}
while (fabs(1/n-2)<=eps);
PI=4*x;
cout<<"圆周率是"<<PI<<endl;
return 0;
} 展开
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const double eps=1e-8;
double x=0,y=2,n=1,PI;
do
{
x=pow(-1,y)*(1/n)+x;
y=y+1;
n=n+2;
}
while (fabs(1/n-2)<=eps);
PI=4*x;
cout<<"圆周率是"<<PI<<endl;
return 0;
} 展开
1个回答
展开全部
const double eps=1e-8;
double x,y=1,n=3,PI=1.0;
do
{
y=-y;
x=y/n;
PI+=x;
n=n+2.0;
}while (fabs(x)>=eps);
double x,y=1,n=3,PI=1.0;
do
{
y=-y;
x=y/n;
PI+=x;
n=n+2.0;
}while (fabs(x)>=eps);
追问
我运行起来的结果为4e-008.。。。
追答
dev cpp中运行正常,以下是代码
#include
#include
#include
int main()
{
const double eps=1e-8;
double x,y=1,n=3,PI=1.0;
do
{
y=-y;
x=y/n;
PI+=x;
n=n+2.0;
}while (fabs(x)>=eps);
PI*=4;
printf("圆周率是:%.10f\n",PI);
system("pause");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询