中易网

C语言基础:求π的近似值。 pi=4*(1-1/3+1/5-....) 我哪里错了?

答案:2  悬赏:30  
解决时间 2021-01-16 21:07
C语言基础:求π的近似值。 pi=4*(1-1/3+1/5-....) 我哪里错了?
最佳答案
#include 
int main()
{
    float pi=4.0,n=-3.0,t=1.0;
    while (fabs(1/n)>=1e-6){//用fabs  不要用abs。 abs是整型的。 精度应该是1e-6
        pi=pi+4*(1.0/n);
        t=t*(-1.0);
        n=(abs(n)+2.0)*t;//一样用fabs
    }
    printf("%.6f
",pi);
    return 0;
}其实 把n作为int更好。
比如
#include 
int main()
{
    float pi=4.0;
    int n=3,t=-1;
    while (1.0/n>=10e-6){
        pi=pi+4*(1.0/n)*t;
        t=t*-1;
        n=n+2;
    }
    printf("%.6f
",pi);
    return 0;
}
全部回答
#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)
{
pi += term;
n += 2;
sign = -sign;
term = sign / n;
}
pi *= 4;
printf("pi=%.8f ",pi);
return 0;
}
你的思路感觉比较模糊,方法不可取,你可以对照一下我的程序,仅供参考。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
线切割机床有高频无进给是什么原因啊
申请北大免试研究生
求借带v的CF号,玩一晚上,可以私信,被骗了
永恒之塔里的<匠人之闪光的龙魂战戟>在哪爆的
iPhone5s是16G的,升级iOS10.3.1会不会更流畅
现代厨卫专卖店这个地址在什么地方,我要处理
oppot15我的是直接按键接听,想改成滑动接听
侠客和刺客哪个是标飞
崩坏3山吹圣痕为什么 带阿提拉中
EVE战列和战巡的区别。
我刚服完法回来快1年半了为啥我什么贷款都办
《观潮》从哪三方面描写潮来之时的景象?
VIVO手机屏幕大小怎么调整?
为什么我配的眼镜镜片一年左右就发黄了?
人文方面 书籍有哪些
推荐资讯
箭乡之家怎么去啊,有事要去办理
coco手足SPA会所地址在什么地方,我要处理点
威尼斯的小艇 资料 五十字以下
你好,请问你有中捷3040摇臂钻床的电路图,PL
求助:成都在哪儿可以买到百变发夹?盘头发用
四会这样的地方那里有
1点42米的表示式是什么
招商银行信用卡一万元的4天逾期违约金是多少
杏核怎么炒开嘴
显卡的N卡GT430 与 A卡hd4830 哪个好,谁知道
怎么自学德语
《再不用口中天天说爱》张学友-歌名是?拜托
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?