in the following program i am trying to compte the square root usiing a function. everything works except i keep getting the number one printed out as the square root of any number. here is the code, thanks for your help!
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

main() {

  double square_root (double, double);
  double tolerance;
  double input;
  double ans;

  printf("Input tolerance for Newton's method: ");
  scanf("%le", &tolerance);
  printf("Input a non-negative number: ");
  scanf("%le", &input);
  ans = square_root (input, tolerance);

  printf("The square root of: %1.15lf is %1.15lf\n", input, ans);

}

//function

double square_root (double i, double t) {
  double r = 1;
  while( fabs((r*r)-i) <= t ) {
    r = (i/(r + r)) / 2;
  }
  return r;
}
Code tags added by Kermi3