#include
int main ()
{
int n=1;
double s1,s2=0,s3,x,x1,x2;
x= n;
x1=2*x+1;
x2=4*x*x;
s1=s3=x1/x2;
do
{
s2+=s1;
x++;
s1=-s1;
}while(s3>0.001);
printf("%.6f",s2);
return 0;
}
运行后一直没有任何显示
循环中s3的值没有变,死循环了
int main()
{
int n = 1;
double s1, s2 = 0, s3, x = 1, x1, x2;
do
{
x1 = 2 * x + 1;
x2 = 4 * x * x;
s1 = x1 / x2;
s2 += n * s1;
x++;
n = -n;
} while (s1 >= 1e-3);
printf("%.6f", s2);
return 0;
}
这里边s3没有赋值呀,死循环了,一直在运行
在do_while循环里面,s3的值没有边,一直都是在进入循环之前的值,所以死循环了