c语言计算圆周率,保留5位有效数字 4*(1-1/3+1/5-1/7+1/9....)

 我来答
百度网友ddd0aca8b
2011-05-04 · TA获得超过176个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:143万
展开全部
关键在于什么时候结束循环,需要你自己根据精度需要取舍了。

#include <stdio.h>
int main()
{
float fPI,fTmp;
int i;
int sign; // 正负符号
i=1;
sign=1;
fPI=0.0;
do
{
fTmp=1.0/i;
fPI=fPI+4*sign*fTmp;
i=i+2;
sign = -sign;
}
while ( 4 * fTmp > 0.000001);
//当某一项小于0.000001就结束循环,这个数设置越小,精度就越高,这里精确到小数点后5位了。
//可以根据需要调整,加一个0,就增加1位精度.
printf("pi is :%.10f\n",fPI); //.10表示按照10位小数显示。可以根据需要调整。
printf("i is :%10ld\n",i); //这个是运算结束时i的值.
return 0;

}
哈哈哈好的哈哈哈哈哈哈哈哈哈哈哈哈好哈哈
2011-05-04 · TA获得超过149个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:115万
展开全部
#include <stdio.h>
#define N 1000000
int main(void)
{
float pi=0;
int deno;
int sign =1;
float term;
for(deno=1;deno<N;deno+=2)
{
term=1.0/deno;
term*=sign;
pi+=4*term;
sign=-sign;
}
printf("%.8f\n",pi);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9597e07
2011-05-04 · 超过18用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:48.3万
展开全部
#define N 10
include<stdio.h>
main()
{
int i,n;
float j,NUM;
j=1.0;
n=1;
NUM=1;
for(i=1;i<N;i++)
{
j*=-1;
n+=2;
NUM=NUM+j/n;
}
printf("yzl : %5f",4*NUM);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式