C语言小白求助:用π/4≈1-1/3+1/5-1/7+。。。。公式求π的近似值,直到某一项的绝对值小于1e-6为止

一定要用for语句我自己弄的一个,乱七八糟的,希望有那位大神赏脸给指正下#include<stdio.h>#include<math.h>intmain(){ints;d... 一定要用for语句 我自己弄的一个,乱七八糟的,希望有那位大神赏脸给指正下#include <stdio.h>
#include <math.h>
int main()
{
int s;
double t,n,pi;
s=1,t=1,n=1.0,pi=0;
for(t=1;fabs(t)>=1e-6;n=n+2)
{
pi=pi+t;
s=-s;
t=-s/n;
}
pi=pi*4;
printf("%.6f\n",pi);
return 0;
}
展开
 我来答
百度网友97adf2e
2010-12-01 · TA获得超过226个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
用For语句没有问题。但应该把 pi=pi+t 放到后面,应为执行完for下面的大括号才执行 这句 n=n+2
严格按照你列出来的等式,每执行一次for循环体进行一次算术运算,改成下面这样就可以了
#include <stdio.h>
#include <math.h>
int main()
{
int s;
double t,n,pi;
s=-1,t=1,n=1.0,pi=0;
for(t=1;fabs(t)>=1e-6;n=n+2)
{
s=-s;
t=s/n;
pi=pi+t;
}
pi=pi*4;
printf("%.6f\n",pi);
return 0;
}
mdoom
2010-12-01 · TA获得超过2923个赞
知道大有可为答主
回答量:1370
采纳率:0%
帮助的人:702万
展开全部
这道题不要用for语句作,因为循环次数不确定
#include <math.h>
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.6f\n",pi);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hj7900
2010-12-01
知道答主
回答量:11
采纳率:0%
帮助的人:7.1万
展开全部
t=-s/n;这句应该改成 t=s/n;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
980515024
2010-12-01 · TA获得超过606个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:324万
展开全部
确实有点乱 不过你的循环体已经错了!
for(t=1;fabs(t)>1e-6;n++)
{
pi+=t;
s=-s;
t=s/(n+2);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cmcmsi
2010-12-01 · TA获得超过139个赞
知道答主
回答量:51
采纳率:0%
帮助的人:29.5万
展开全部
#include<stdio.h>
#include <math.h>
int main()
{
int n;
double s,pi,m;
n=1;s=1.0;pi=0.0;m=1.0;
for(n=1;fabs(m)>=1e-6;n=n+2)
{
m=s/n;
s=-s;
pi+=m;
}
pi=4*pi;
printf("%.6f\n",pi);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式