C语言用公式用这个公式π*π/6=1/1*1+1/2*2+1/3*3+...+1/n*n,求出π的值

要求1.计算精度从键盘输入
2.数据输入和输出之间应有提示信息
3.以最后一项的绝对值小于10的-6次方、10的-8次方记录计算结果

我尝试这样写,可是结果不对
#include <stdio.h>
#include <math.h>
int main()
{
int sign=1;
double pi=0.0,n=1.0,term=1.0;
while (fabs(term)>=1e-6)
{
pi=pi+term;
n=(n+1)*(n+1);
sign=sign;
term=sign/n;
}
pi=sqrt(6.0*pi);
printf("pi=%10.8f\n",pi);
return 0;
}

按照你给出来的公式,
π*π/6=1/1*1+1/2*2+1/3*3+...+1/n*n
改写如下:

while ((term)>=1e-6)
{
pi=pi+term;
n=n+1.0;
term=1.0 /n/n;
}追问

为什么这样改呢?我写得错在哪里?

追答

n每次要递增的,你这句n=(n+1)*(n+1); 就不行了

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网