展开全部
double i,j=1,a,pi;
for(i=0;i<10;i++)
{
a+=j*(i/(1+2*i));
j=-j;
}
pi=4*a;
大概思路就是这样的,至于保留10位自己极想把
for(i=0;i<10;i++)
{
a+=j*(i/(1+2*i));
j=-j;
}
pi=4*a;
大概思路就是这样的,至于保留10位自己极想把
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main()
{int i,j,k;
double a,b,c,tt;
for(i=1,j=1;a-b<1/100000000000.0;i=i+2,b=a,j=-j)
{a=a+4.0*j/i;
}
tt=a;
a=a*100000000000;
k=a%10;
if(!(b<5)) tt=tt+0.0000000001
printf("\n tt=%.10f",tt);
}
{int i,j,k;
double a,b,c,tt;
for(i=1,j=1;a-b<1/100000000000.0;i=i+2,b=a,j=-j)
{a=a+4.0*j/i;
}
tt=a;
a=a*100000000000;
k=a%10;
if(!(b<5)) tt=tt+0.0000000001
printf("\n tt=%.10f",tt);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include<stdlib.h>
#include <math.h>
int main(){
int k,d=1,f=1;
double pi=0;
scanf("%d",&k);
for(d=1;d<=2*k;d+=2){
pi=pi+f*1.0/(double)d;
f=-f;
}
printf("%.10f",4*pi);
return 0;
}
#include<stdlib.h>
#include <math.h>
int main(){
int k,d=1,f=1;
double pi=0;
scanf("%d",&k);
for(d=1;d<=2*k;d+=2){
pi=pi+f*1.0/(double)d;
f=-f;
}
printf("%.10f",4*pi);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double getPI()
{
int sign=1;
double PI=0;
int i=1;
while((1.0/i)>(1e-8))
{
PI+=sign*1.0/i;
sign*=-1;
i=i+2;
}
PI*=4;
return PI;
}
void main()
{
const double PI=getPI();
cout<<setprecision(10)<<PI<<endl;
} 输出结果为3.141592634
{
int sign=1;
double PI=0;
int i=1;
while((1.0/i)>(1e-8))
{
PI+=sign*1.0/i;
sign*=-1;
i=i+2;
}
PI*=4;
return PI;
}
void main()
{
const double PI=getPI();
cout<<setprecision(10)<<PI<<endl;
} 输出结果为3.141592634
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
double pi=0;
int i;
for(i=1;(double)(4.0/i)>=1e-10;i=i+2){
if(i%4==1)
pi+=4.0/i;
else
pi-=4.0/i;
}
printf("%.10lf\n",pi);
}
void main()
{
double pi=0;
int i;
for(i=1;(double)(4.0/i)>=1e-10;i=i+2){
if(i%4==1)
pi+=4.0/i;
else
pi-=4.0/i;
}
printf("%.10lf\n",pi);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询