delphi语言编程:π/4=1-1/3+1/5-1/7+…,请计算π的近似值 直到精确度10e-6位置

 我来答
沙月残夏梦2l
2013-01-05 · TA获得超过1147个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:296万
展开全部
如果要精确到小数点后6位,需要计算到小数点后7位。
function GetPI: Double;
var
i: Integer;
j: Double;
flag: Boolean;
begin
Result := 0;
i := 1;
j := 1;
flag := True;
while j >= 0.0000001 do
begin
if flag then Result := Result + j
else Result := Result - j;
Inc(i, 2);
j := 1/i;
flag := not flag;
end;
Result := Result * 4;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := FormatFloat('0.000000', GetPI);end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aksdrxzd01
2013-01-05 · TA获得超过482个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:243万
展开全部
用迭代的方式不断逼近,直到前后两次计算值差满足要求
procedure TForm1.Button1Click(Sender: TObject);
const
e=1.0E-6;//精度
maxn=10000000;//计算次数上限
var
n,k:longint;
ans1,ans2:extended;
begin
ans1:=0;ans2:=0;n:=-1;k:=-1;
repeat
k:=-k;n:=n+2;
ans1:=ans2;
ans2:=ans2+4*k/n;
until (abs(ans2-ans1)<=e) or (n>=maxn);
Edit1.Text:=copy(floattostr(ans2),1,trunc(-ln(e)/ln(10))+2);
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Liuguiwu1
2013-01-04 · TA获得超过2108个赞
知道小有建树答主
回答量:1199
采纳率:0%
帮助的人:870万
展开全部
#include <stdio.h>
#include <math.h>
void main()
{
int s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.5f\n n=%3.0f",pi,n);
getch();
}
追问
用delphi语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ztw1122
2013-01-05 · TA获得超过1088个赞
知道小有建树答主
回答量:2382
采纳率:80%
帮助的人:1041万
展开全部
var
a,O:integer;
b,c:double
begin
a=1;
b=1;
c=0;
o=1;
while len(floattostr(c))>=8 begin
c=c + o * (1/a);
a=a+2;
o=o*-1;
end;
edit1.text1=flosttostr(c);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式