Я новичок и пытаюсь освоить метод деления пополам.Вот моя программа:
#include<stdio.h>
#include<math.h>
double f(double x)
{
return pow(x,2)-2;
}
main()
{
double x1, x2, x3, i;
do
{
printf("Enter a number for x1 and x2");
scanf("%lf %lf", &x1, &x2);
}
if(f(x1)*f(x2)<0); /* **<--- if statement line 16** */
for(i=0;i<100;i++)
{
x3=(x1+x2)/2;
if (f(x1)*f(x3)<0)
x2=x3;
else
x1=x3;
if(f(x3)==0 || fabs(x1-x2)<0.000001) /* check if the roots*/
break;
}
print("x=%lf \n",x3);
return 0;
}
, и я получил это сообщение об ошибке.
16:error: expected âwhileâ before âifâ
Я знаю, что мой код неоправданный, но я все еще учусь.Я не знаю, почему ожидается цикл while перед циклом if.