要求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;
}追问
π*π/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); 就不行了
温馨提示:答案为网友推荐,仅供参考