Square Root in C

Updated on 28/08/202518,152 Views

How do you solve a common mathematical problem, like finding a square root, using one of the world's most powerful programming languages? C, with its rich set of libraries and operators, makes executing complex calculations simple and fast.

This comprehensive tutorial focuses on a key operation: calculating the Square Root in C.

We will explore different methods, from using the convenient sqrt() function to writing your own algorithm using loops and logic. Mastering how to find the Square Root in C is a great way to improve your problem-solving skills and deepen your understanding of how C handles mathematical tasks.

Want to master more real-world C programming problems? Explore our Software Engineering Courses and boost your skills in C programming with hands-on practice.

What is Square Root?

The inverse operation of squaring a number is known as the square root. When a number gets multiplied by itself then the result obtained is known as the square of a number. Here the exponent is 2. Finding out the square root’s value is just the reverse process. Squared root value is that factor of a value which is when squared gives the original value.

Example 1: Suppose “a” is a particular number. The square of a is b i.e. () and “a” is called the square root value of “b.” In square root, the exponent is ½. This mathematical operation can be defined as

Example 2: Find out the square root of 16.

Answer: The square root of 16 is 4.

Logic of sqrt in C language

In C programming the square root of a number is computed by using the sqrt() function. sqrt in C language is a predefined library function. This function is included in the <math.h> header file. So, while implementing sqrt() function in a program <math.h> header file must be included at the beginning of the program. The sqrt() function accepts a single number that is in double as input and returns a double number value as the output. If the input is a negative number, then the result is shown as -nan i.e. not a number value to the user. The sqrt() function does not support any imaginary value. While the square root of the negative number is an imaginary number, the output returns -nan. This is called domain error because the input is not supported by the sqrt() function domain.

Ready to build on your C programming foundation and launch a career in today's most in-demand tech fields? upGrad curated these expert-led programs to help you master the advanced skills top companies are looking for.

  • Professional Certificate Program in Cloud Computing and DevOps
  • AI-Powered Full Stack Development Course by IIITB
  • Master of Design in User Experience

Syntax for sqrt() in C

The syntax for the sqrt function in C programming is

double sqrt(double num)

Here sqrt is the function to find out the square root of a number. “num” is the number whose square root value is to be found out. And double is the data type that is used to store large values of decimal numbers.

Algorithm for sqrt in C implementation

The algorithm used to calculate the square root value in the C language is presented below.

  1. Declare an integer value to give input for square root calculation.
  2. Declare a double data type to store the output value.
  3. Print the result.
  4. Exit the program

How to Use the sqrt() Function in C?

Example 1: C program to ask the user for input and to print the result as output.

# include <stdio.h>
# include <conio.h>
# include <math.h>
int main()
{
// Declare an integer value as input
int num;
double out;
printf(“Enter a number =);
scanf(%d”, &num);
// sqrt function implementation
out = sqrt(num);
printf(“The square root of %d is: %.2lf”,num, out);
return 0;
}

Output:

Enter a number = 225
The square root of 225 is 15.00

Keynotes:

1. Here stdio.h means single input single output. This is a built-in header file in the C programming language. It contains the information related to the input and output functions.

2. Int main() function is used as the starting point of program execution. It directs the calls to other functions in the program and thus controls program execution.

3. The math.h header represents several mathematical functions.

4. printf is an output function that indicates “print formatted”.

5. Scanf is an input function that is used to read input from the user.

Example 2: Find out the square root of a number by using a user-defined function

# include <stdio.h>
# include <conio.h>
# include <math.h>
// Declare a function
double findSqRoot (int x);
int main()
{
// Declare an integer value as input
int num;
double out;
printf(“Enter a number =);
scanf(%d”, &num);
// call function
out = findSqrRoot (num);
printf(“The square root of %d is: %.2lf”,num, out);
return 0;
}
double findSqrRoot (int x)
{
double findout
findout = sqrt(x);
return findout;
}

Output:

Enter a number = 237
The square root of 237 is 15.39

The above program is basically to find out the square root of a given number. Initially, it is important to declare the header files. The header stdio.h contains the information related to the input and output functions and the header math.h contains mathematical functions. Then a function named FindSqrRoot is declared. Then an input value is declared. printf function is used to print the output and scanf function is used to read input from the user. Again the function is defined to print the result.

C Program to find out square root using recursion

An example is represented to show the implementation of sqrt in c using recursion. Recursion is a process that calls itself repeatedly directly or indirectly. Calling a function inside the same function is known as a recursive call of a function. Implementation of sqrt in c using recursion is represented here with an example.

# include <math.h>
# include <float.h>
float SqrtNum (float num, float PrevNum)
{
float NextNum = (Prevnum num/PrevNum)/2;
if (fabs(NextNum - PrevNum) < FLT_EPSILON*NextNum)
Return NextNum;
Return SqrtNum(num, NextNum);
}

C Program to find out square root without math.h

An sqrt example is represented to show the sqrt in c without math.h. In C language math.h header represents several mathematical functions. The functions present in this library consider a double as input argument and give a double as output. double sqrt(double number) returns a double value. The implementation of sqrt in c without math.h is represented here.

#include <stdio.h>
Void main()
{
int num;
float temp, sqrt;
printf(“Enter a number: \n”);
scanf(‘’%d”, &num);
sqrt = num / 2;
temp = 0;
while(sqrt ! = temp)
{
temp = sqrt;
sqrt = (num/temp temp)/2;
}
Printf(“Square root of%d’ is ‘%f’”, num, sqrt);
}

In this program first, the user must enter a number for which the square root is to be calculated. The number is divided by two and the result is stored in sqrt. The previous value of sqrt is stored as the temp. Then a loop is generated in which the sqrt variable is different from temp. At the same time, the value of temp and the previous value of sqrt continuously get updated. The square root of the number will be printed only when the loop ends.

Return Values for sqrt() in C

The sqrt() function takes a double number as input and outputs a value that is also a double number. The result is displayed to the user as -nan, or without a number value if the input is a negative number.

Exceptions for sqrt() in C

Any imaginary value is not supported by the sqrt() function. The output returns -nan if the square root of a negative number is an imaginary number. Because the input does not support the sqrt() function domain, this is known as a domain error.

Conclusion

You've now explored the essential methods for calculating the Square Root in C. This guide has walked you through both the straightforward approach using the sqrt() function from the math.h library and the more foundational logic of implementing it from scratch.

Mastering how to find the Square Root in C is more than just a mathematical exercise; it’s a great way to strengthen your problem-solving skills and your understanding of core C programming principles. Keep practicing, and you'll be ready to tackle even more complex computational tasks.

FAQs

1. What is the C programming language?

C is a general-purpose and high-level programming language. This is a prominent programming language because of its simplicity and efficiency.

2. What is a sqrt function in C language?

In C programming the square root of a number is computed by using the sqrt() function. sqrt in C language is a predefined library function. This function is included in the header file.

3. What is the use of the math.h header?

In C language math.h header represents several mathematical functions. The functions present in this library consider a double as input argument and give a double as output.

4. What is printf function?

printf is an output function that indicates “print formatted

5. What is the scanf function?

Scanf is an input function that is used to read input from the user.

6. What is int main()?

Int main() function is used as the starting point of program execution. It directs the calls to other functions in the program and thus controls program execution.

7. What is a double data type?

Double is the data type that is used to store large values of decimal numbers.

8. How to calculate the square root of a number?

The inverse operation of squaring a number is known as the square root. When a number gets multiplied by itself then the result obtained is known as the square of a number. Here the exponent is 2. Finding out the square root’s value is just the reverse process. Squared root value is that factor of a value which is when squared gives the original value.

image

Take a Free C Programming Quiz

Answer quick questions and assess your C programming knowledge

right-top-arrow

FREE COURSES

Start Learning For Free

image
Pavan Vadapalli

Author|911 articles published

Pavan Vadapalli is the Director of Engineering , bringing over 18 years of experience in software engineering, technology leadership, and startup innovation. Holding a B.Tech and an MBA from the India....

image
Join 10M+ Learners & Transform Your Career
Learn on a personalised AI-powered platform that offers best-in-class content, live sessions & mentorship from leading industry experts.
advertise-arrow

Free Courses

Start Learning For Free

Explore Our Free Software Tutorials and Elevate your Career.

upGrad Learner Support

Talk to our experts. We are available 7 days a week, 10 AM to 7 PM

text

Indian Nationals

text

Foreign Nationals