1. Engineering
  2. Computer Science
  3. need help with c programming lab we will program the...

Question: need help with c programming lab we will program the...

Question details

Need help with C programming Lab.

We will program the Babylonian Square Root Method.

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 looping when either of these is true:

• (estimate*estimate) == number

• The number of iterations gets to 100, the maximum

  1. Please copy-and-paste the following files (0 Points):

babylonianSqrt.c

#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);

}

1. Finish obtainFloat() :

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

2. 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 numItersPtr points. The loop should stop when the condition given above is met.

Sample Output:

[instructor@localhost Assign1]$ ./babylonianSqrt

Please enter a floating point number (0 - 65535): -7

Please enter a floating point number (0 - 65535): 1000000

Please enter a floating point number (0 - 65535): 9

squareRoot(9) approx. equals 3 (found in 5 iterations).

[instructor@localhost Assign1]$ ./babylonianSqrt

Please enter a floating point number (0 - 65535): 100

squareRoot(100) approx. equals 10 (found in 7 iterations).

[instructor@localhost Assign1]$ ./babylonianSqrt

Please enter a floating point number (0 - 65535): 101

squareRoot(101) approx. equals 10.0499 (found in 100 iterations).

[instructor@localhost Assign1]$ ./babylonianSqrt

Please enter a floating point number (0 - 65535): .25

squareRoot(0.25) approx. equals 0.5 (found in 4 iterations).

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