C语言的求π的值?

用公式π/4≈1-1/3+1/5……求π的近似值,要求直到最后一项的绝对值小于0.000001为止。输出格式:按照“pi=结果”的顺序输出,其中结果输出的格式宽度为10列... 用公式π/4≈1-1/3+1/5……求π的近似值,要求直到最后一项的绝对值小于0.000001为止。

输出格式:

按照“pi= 结果”的顺序输出,其中结果输出的格式宽度为10列,并保留4位小数。

输出样例:

pi= 3.1416
展开
 我来答
牛奶不喝奶
2019-10-26 · 初出茅庐
牛奶不喝奶
初出茅庐
采纳数:15 获赞数:37
国家奖学金获得者,优秀毕业生,第九届蓝桥杯国赛三等奖

向TA提问 私信TA
展开全部

#include <stdio.h>

#include <math.h>


int main(){

double pi=0,result;

int i=1;

int s=-1;

do{

s*=-1;

result=1.0/i*s;

i+=2;

pi+=result;

}while(fabs(result)>0.000001);

printf("pi=%10.4lf\n",pi*4);

return 0;

}

岔路程序缘

2019-10-26 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3375万
展开全部
你说的程序如下:
main()
{
float pi=0, x;
int n=1,k=1;
do
{
x=1.0/n;
pi=pi+k*x;
n+=2;
k=-k;
}while(x>=1E-6);
pi*=4;
printf("pi=%10.4f\n",pi);
}
有什么问题请留言。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2019-10-26 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>

int main()

{ double pi=0;

  int i;

  for(i=1;i<1000000; i+=2)

    pi+=i%4==1?1.0/i:-1.0/i;        //π/4≈1-1/3+1/5……

  printf("%.4f\n",4*pi);

  return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
My_Persistence
2019-10-26 · TA获得超过3465个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:416万
展开全部
示例代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
double result,fn,t;
int i;
i=1;
result=0;
fn=t=1.0; //fn表示每一项的值
while(fabs(fn)>=1e-6)
{
result+=fn; //将每一项的fn累加
i+=2;
t*=-1; //切换符号
fn=t/i; //计算当前项的值
}
result*=4;
printf("pi = %-10.4f\n",result); //列宽为10,小数点后保留4位,-表示左对齐
return 0;
}
运行结果:

pi = 3.1416
希望对你有帮助,忘采纳哦。
追问
可是为什么交上去还是错误
追答
提示什么错误呢,是不是输出格式不对?
你把printf("pi = %-10.4f\n",result);修改如下:
printf("pi= %10.4f\n",result);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式