#include
void main()
{
int n=1;
float x=1,t=1,s=0;
while(t>=1e-6)
{
t=1.0/(2*n-1);
s=s+x*t;
x=(-1)*x;
n=n+1;
}
printf("1-1/3+1/5-1/7+...=%f\n",s);
getch();
return 0;
}
为什么是t>=1e-6.而不是t<1e-6,x=(-1)*x的正负号控制怎么理解
1e-6是个临界值,最后一项一定比它小,而最后一项的前一项就是t,,必须要比1e-6大,这个程序就会停止循环,得到结果
=1e+6 这是循环运行的条件