float squareRoot(float value, float error){
float estimate;
float quotient;
estimate = 1;
float difference = abs(value - estimate * estimate);
while (difference > error){
quotient = value/estimate;
estimate = (estimate + quotient)/2;
difference = abs(value - estimate * estimate);
}
return difference;
}
Моя функция не будет компилироваться, поскольку она продолжает говорить, что «x не объявлена» в основной функции (не может быть изменена), что я делаю неправильно?Сквартальная аппроксимация (C)
int main(){
printf("\nsquare root test 1: enter a number\n");
scanf("%f",&x);
printf("root(%.2f) = %.4f\n", x, squareRoot(x, .001));
getchar();
return 0;
}
Кроме того, если 'main()' не может быть изменено, тогда 'x' необходимо объявить в области файлов. – 2013-03-16 05:57:59
@ H2CO3 Что вы подразумеваете под 'main()' нельзя изменить? – SomeWittyUsername
@icepack. "в основной функции (нельзя изменить), [...]" – 2013-03-16 08:23:43