C语言求pi,一下哪位大神没有参与帮帮忙!

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 5426 人关注过本帖
标题:C语言求pi
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:9&&&
利用 pi/4=1-1/3+1/5-1/7...公式求pi的近似值,当某一项的绝对值小于10-6为止。
我是这么做的,不知道错在哪里!
#include&stdio.h&
#include&math.h&
void main()
&&& int a=3,b=1;
&&& float m=1.0,sum=1.0;
&&& while(fabs(m)&1e-6)
&&&&&&&&b=-b;
&&&&&&&&m=b/a;
&&&&&&&&sum=sum+m;
&&&&&&&&a=a+2;
&&& sum=4*
&&& printf(&pi=%f\n&,sum);
程序运行的结果是4.00000
搜索更多相关主题的帖子:
来 自:歌舞伎町
等 级:业余侠客
帖 子:94
专家分:230
m=b/a这句,b/a的值是int型,已经把小数去掉了,所以即使m是float型,也是没有小数的……
改成float a,b就可以了
等 级:新手上路
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
其实这种问题应该自己想办法查明原因的,答了你以后也不会长记性,因为你看书看过都能忘、不留意,现在告诉你也一样是白答。类似这种问题,长答长有,总有新手问,凡是问这种问题的,绝对是看书不入脑的。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
其实有时候自查出来的要记得深
等 级:业余侠客
帖 子:192
专家分:290
其实 我们还有个 单步调试 可以用&&这个 貌似很有用
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3424
专家分:19236
天天发一些没用的回贴,真不知道你要干什么 ...
学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能 !
等 级:新手上路
回复 2楼 S_Ringo
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
相互交流一下,帮忙看看也是好的!
做自己喜欢的事!
来 自:农村
等 级:业余侠客
帖 子:191
专家分:264
2楼正解。。。类型转换
版权所有,并保留所有权利。
Powered by , Processed in 0.065249 second(s), 9 queries.
Copyright&, BCCN.NET, All Rights Reserved用户名:岩枭
文章数:221
访问量:55324
注册日期:
阅读量:1297
阅读量:3317
阅读量:444730
阅读量:1130481
51CTO推荐博文
用公式π/4=1-1/3+1/5-1/7...求π的近似值,直到发现某一项的绝对值小于10^6为止(该项不累加)解:程序:#include&stdio.h&#include&math.h&int main(){ int sign = 1; double pi = 0.0, n = 1.0, term = 1.0;//term表示当前项 while (fabs(term) &= 1e-6) {
term = sign / } pi *= 4; printf("pi=%10.8f\n", pi); return 0;}结果:pi=3.请按任意键继续.&.&.本程序输出的结果是pi=3.,虽然输出了8位小数,但是只有前5位小数3,14159是准确的,因为第7位已经小于10^-6,后面的项没有累加。再看如下两个精度不同的程序:程序1:#include&stdio.h&#include&math.h&int main(){ int sign=1; int count = 0; double pi = 0.0, n = 1.0, term = 1.0;//term表示当前项 while(fabs(term)&=1e-6) {
term = sign / } pi *= 4; printf("pi=%10.8f\n",pi); printf("count=%d\n",count); return 0;}结果:pi=3.count=500000请按任意键继续.&.&.程序2:#include&stdio.h&#include&math.h&int main(){ int sign=1; int count = 0; double pi = 0.0, n = 1.0, term = 1.0;//term表示当前项 while(fabs(term)&=1e-8)//变化部分 {
term = sign / } pi *= 4; printf("pi=%10.8f\n",pi); printf("count=%d\n",count); return 0;}结果:pi=3.count=请按任意键继续.&.&.精度不同,运行时间不同,程序2精度更高,但是运行次数是程序1的100倍。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 哪位大神知道此女名字 的文章

 

随机推荐