top

Search

C Tutorial

.

UpGrad

C Tutorial

Square Root in C

A brief idea about the calculation of the square root and the formula to calculate the square root is presented here. Next, the computation of the square root using the C programming language is executed. Examples are illustrated to describe the programming language, methods of implementation, use of recursion, and math.h function, etc.

Introduction

C is a general-purpose and high-level programming language. This is a prominent programming language because of its simplicity and efficiency. C language is used in developing computer software, web development, computer applications, etc. This programming language comprises some inbuilt functions and operators which are used to solve complex problems. This programming language is highly used because of its fast execution speed, portability, function-rich library, various types of data types and operators, etc. Various mathematical operations can be executed using C programming. Here the calculation of the square root using C language i.e. sqrt() in C is performed.

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.

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

An overall description of the implementation of the sqrt function in C programming language is represented here.  Initially, the definition of square root and the formula to calculate the square root value of a number is depicted. The syntax used to define the sqrt function in C language is presented. After that, an algorithm used to write a program by implementing the sqrt function is described. Different examples are given to explain the use of the sqrt function. Also implementation of sqrt function without using math.h header is described.

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 <math.h> 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.

Leave a Reply

Your email address will not be published. Required fields are marked *