### What is Algorithm in C?

An algorithm is just an outline or idea behind a program. In other words, an algorithm in C can be defined as the stepwise procedure to represent the solution to the problem. The first step in the program development is to devise and describe a precise plan of what you want the computer to do.

This plan, expressed as a sequence of operations is called an algorithm.

An algorithm is expressed in pseudo code – something resembling C language or Pascal, but with some statements in English rather than within the programming language. It is expected that one could translate each pseudocode statement to a small number of lines of actual code, easily and mechanically.

## Definition

An Algorithm is defined as, “a set of explicit and unambiguous finite steps which, when carried out for a given set of initial conditions, produce the corresponding output and terminate in a finite time”.

## Characteristics of an Algorithm

Every algorithm should follow the following characteristics or criteria:

#### 1. Input:

There should be zero or more input values which are to be supplied to algorithm.

#### 2. Output:

At least one result should be produced by the algorithm.

#### 3. Definiteness:

Each step must be clear and unambiguous.

#### 4. Finiteness:

If we trace the steps of an algorithm, then for all cases, the algorithm must terminate after a finite number of steps.

#### 5. Effectiveness:

Each step must be sufficiently basic that a person using only paper and pencil can in principle carry it out. In addition, not only each step is definite, but it must also be feasible.

## How to Write algorithms?

The process of writing algorithms consists of the following steps:

#### Step 1: Define your Algorithms Input:

Many algorithms take in data to be processed, to calculate the area of rectangle input may be the rectangle height and rectangle width.

#### Step 2: Define the Variables:

Algorithm’s variables allow you to use it for more than one place. We can define two variables for rectangle height and rectangle width as HEIGHT and WIDTH(or h and w).

We should use the meaningful variable name, for instance, instead of using H and W use HEIGHT and WIDTH as a variable name.

#### Step 3: Outline the Algorithm’s Operations:

Use the input variable for computation purpose. For example, to find the area of rectangle multiply the HEIGHT and WIDTH variable and store the value in a new variable say AREA.

An Algorithm’s operations can take the form of multiple steps and even branch, depending on the value of the input variables.

#### Step 4: Output the Results of your Algorithm’s Operations:

In the case of the area of the rectangle, the output will be the value stored in variable AREA. If the input variables described a rectangle with a HEIGHT of 2 and a WIDTH of 3, the algorithm would output the value of 6.

## Examples of what is algorithm in C:

Let us try to develop an algorithm to compute and display the sum of two numbers.

#### Example 1: To find the sum of two numbers

1st Step: START.

2nd Step: Read two numbers a and b.

3rd Step: Calculate the sum of a and b and store it in new variable sum.

4th Step: Display the value of the sum.

5th Step: STOP.

#### Example 2: To find area and perimeter of Rectangle

1st Step: START.

2nd Step: Input side length and breadth say L, B.

3rd Step: AREA=LxB.

4th Step: PERIMETER=2x(L+B).

5th Step: Display AREA, PERIMETER.

6th Step: STOP.

#### Example 3: To convert Temperature from Fahrenheit to Celsius

1st Step: START.

2nd Step: Input Temperature in Fahrenheit say as F.

3rd Step: C=5.0/9.0(F-32).

4th Step: Display Temperature in Celcius C.

5th Step: STOP.

#### Example 4: To find the smallest of two numbers

1st Step: START.

2nd Step: Input two numbers say as num1, num2.

3rd Step: If num1<num2 then print smallest is num1 else print smallest is num2 and end if.

4th Step: STOP.

#### Example 5: To find the sum of first n natural numbers(1+2+…+n)

1st Step: START.

2nd Step: Accept the n term.

3rd Step: Let i=1, sum=0.

4th Step: Let sum=sum+i.

5th Step: Let i=i+1( or increment i by 1).

6th Step: if(i<=n) then goto step 4.

7th Step: Display sum.

8th Step: STOP.

It is the step-wise representation of a solution to a given problem, which makes it easy and simple to understand.

An algorithm uses a definite procedure. It facilitates program development by acting as a design document or a blueprint of a given problem solution.

It is not dependent on any programming language, so it is easy to understand for anyone even without programming knowledge.

Every step in an algorithm has its own logical sequence so it is easy to debug.

By using the algorithm, the problem is broken down into smaller pieces or steps hence, it is easier for a programmer to convert it into an actual program.