输出的值和要求的值不一样
#include
#include
int main()
{
double a, x0, x1,z;
int i=1;
scanf("%lf %lf", &a,&z);
x0 = a/2.0;
x1 = 1.0/2*(x0+a/x0);
while(fabs(x0-x1)>=z)
{
x0 = x1;
x1 = 1/2.0*(x0+a/x0);
i++;
}
printf("%.4lf %d", x1,i);
}
输入7.8 0.01输出2.7929 3 这是正确的。
输入7.8 0.01输出2.7949 3 这答案是错误的。