1. Engineering
  2. Computer Science
  3. program in c guide let number be the number to...

Question: program in c guide let number be the number to...

Question details

Program in C

Guide:

  1. Let number be the number to get the square root of
  2. Start with an estimate of 1.
  3. Recompute estimate = 0.5 * (estimate + number/estimate)
  4. Go back to 3

Stop the loop when one of these occurs:

1) (estimate*estimate) == number
2) The number of iterations gets to 100, the maximum

Copy & Paste the following C babyloniansquare.cfile:

#include        <stdlib.h>
#include        <stdio.h>

const int       TEXT_LEN        = 64;

void            obtainFloat     (float* fPtr
                                )
{
  char  text[TEXT_LEN];

  //  YOUR CODE HERE

}


float           squareRoot      (float  number,
                                 int    maxIters,
                                 int*   numItersPtr
                                )
{
  float estimate        = 1.0;

  //  YOUR CODE HERE

  return(estimate);
}


int             main            ()
{
  float f;
  float ans;
  int   numIters        = 0;

  obtainFloat(&f);
  ans   = squareRoot(f,100,&numIters);
  printf("squareRoot(%g) approx. equals %g (found in %d iterations).\n",
         f,ans,numIters
        );
  return(EXIT_SUCCESS);
}
        

Finish obtainFloat():

It should ask the user to enter a number from 0 to 65535, and lets the user enter a number. If user enters a number outside that range, it should ask again. The number is not returned, but number is placed in the address to which fPtr points.

Finish squareRoot():

After setting estimate to 1.0, it should loop and recompute estimate with the expression above. Every time it loops, it should increment the integer to which numItersPtrpoints. The loop should stop when the condition given above is met.

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution