# Square Root Program In C

The process of finding square root of a number can be divided into two steps. One step is to find integer part and second one is for fraction part.

## Algorithm

We derive an algorithm for finding square root here −

```START
Step 1 → Define value n to find square root of
Step 2 → Define variable i and set it to 1 (For integer part)
Step 3 → Define variable p and set it to 0.00001 (For fraction part)
Step 4 → While i*i is less than n, increment i
Step 5 → Step 4 should produce the integer part so far
Step 6 → While i*i is less than n, add p to i
Step 7 → Now i has the square root value of n
STOP
```

## Pseudocode

The pseudocode of this algorithm can be derived as follows −

```procedure square_root( n )

SET precision TO 0.00001
FOR i = 1 TO i*i < n DO
i = i + 1
END FOR

FOR i = i - 1 TO i*i < n DO
i = i + precision
END FOR
DISPLAY i AS square root

end procedure
```

## Implementation

Implementation of this algorithm is given below −

```#include <stdio.h>

double squareRoot(double n) {
double i, precision = 0.00001;

for(i = 1; i*i <=n; ++i);           //Integer part

for(--i; i*i < n; i += precision);  //Fractional part

return i;
}

int main() {
int n = 24;

printf("Square root of %d = %lf", n, squareRoot(n));

return 0;
}
```

## Output

Output of the program should be −

```Square root of 24 = 4.898980
```
mathematical_programs_in_c.htm