×

Factorial Program in C Using While Loop

Before looking into the mechanism of factorial program, first, you have to understand about the working of a while loop.

While Loop

The syntax that has been used for the “while” loop in C programming language is:

while (termination condition) {
  // the body of the loop 
}

Working of While Loop

Initially, we use the parentheses for storing the termination condition of the While loop.

Then, there can be two outcomes True or False.

Firstly, if the result is true, then the control will automatically execute the body of the loop. It will continue to evaluate again and again until the termination condition is false.

Secondly, if the result is false, then the control will definitely come out of the While loop and will dismiss the While Loop.    

Now, we are going to understand how the factorial of any positive integer is evaluated or calculated using C language.

While loop program in c programming language to find factorial of an entered integer:

With the help of below mentioned example you can easily come to know about the method of calculating of a positive integer provided by the user.

The following formula is used for calculating the factorial of an inputted positive integer ‘n’:

factorial of “n” or (n!) = 1 * 2 * 3 * 4....n

If we talk about the factorial value of 0 is always 1 and the factorial of any negative integer does not exist.

Following Program calculates the Factorial of a natural number using while loop in C programming language:

#include<stdio.h>
int main()
{
int a, b=1, c=1; // declaring various variables and initializing values of b and c as 1, 1 simultaneously  
printf("Enter the natural number whose factorial you want to print:\n"); // taking a value as input from the user 
scanf("%d", &a); // assigning the value entered by the user to a
// providing termination condition so that we can avoid loop from running to infinity     
while(b<=a) // initializing loop for calculating the factorial of a positive integer provided by the user as an input
{
        c=c*b; // main body of the while loop that is to be executed until it the loop gets terminated because of the false value retained by the execution of termination condition
        b++;
}
    printf("The factorial of the given number %d is as follow %d", a, c); // printing the output
return 0;
}

Output:

Enter the natural number whose factorial you want to print:
5
The factorial of the given number 6 is as follow 720

Explanation:

Initially, the system will let the user to enter any positive integer and assign the entered number to the variable ‘a’.

After that, the code will multiply the values of ‘b’ with the value of ‘c’ with the help of ‘while’ loop.  This ‘while’ loop will execute the multiplication until the value of ‘b’ does not equal to the value of ‘a’.

And, at last, the program will automatically print the factorial value of the given number after the termination of while loop.

Step by Step explanation of the factorial values during the execution of the program:

Let us begin with the positive integer 6 which is entered by the user as an input.

Now, the values of a, b, c are 6, 1, and 1.

After that, the ‘while’ loop will start the execution until the termination condition returns false value.

Case 1: b<=n (1<=6), here, the termination condition of while loop returns True boolean value, and the control moves to the following statements of while body:

c=c*b (c=1*1)    so, c=1

b++ (b=b+1)    so, b=2

Case 2: b<=a (2<=6), here, the termination condition of while loop returns also True boolean value, and the control moves to the following statements of while body:

c=c*b (c=1*2)    so, c=2

b++ (b=b+1)    so, b=3

Case 3: b<=n (3<=6), here, the termination condition of while loop returns also True boolean value, and the control moves to the following statements of while body:

c=c*b (c=2*3)    so, c=6

b++ (b=b+1)    so, b=4

Case 4: b<=n (4<=6), here, the termination condition of while loop returns also True boolean value, and the control moves to the following statements of while body:

c=c*b (c=6*4)    so, c=24

b++ (b=b+1)    so, b=5

Case 5: b<=n (5<=6), here, the termination condition of while loop returns also True boolean value, and the control moves to the following statements of while body:

c=c*b (c=24*5)    so, c=120

b++ (b=b+1)    so, b=6

Case 6: b<=n (6<=6), here, the termination condition of while loop returns also True boolean value, and the control moves to the following statements of while body.

c=c*b (c=120*6)    so, c=720

b++ (b=b+1)    so, b=7

Case 7: b<=n (7<=6), here, the termination condition of while loop returns False boolean value. So, the control goes out from the while loop and print the 720 in the output console on the screen.

Output:

Enter the natural number whose factorial you want to print:
6
The factorial of the given number 6 is as follow 720

Related Topics

Type Casting in C

Type casting is a way to convert a variable from one data type to another data type.Syntax: (type) expression;     Example: #include <stdio.h> int main() { int a,b; float sum; printf("Example of Type Casting\n"); printf("Enter any integer nos:"); scanf("%d",&a,&b); sum=a+b; printf("Sum: %f",sum); return 0; } Output Example...

1 minute read.

Derived Data Types in C

A variable in a program occupies some space in the computer's memory where some value is stored. Each variable in C has an associated data type. A value to be...

4 minutes read.

Find occurrence of substring in C using function

Introduction: In this article, we discuss finding the occurrence of a substring in C using function. This software takes strings and substrings as input and counts the occurrences of substrings within...

3 minutes read.

Bitwise XOR Operator in C

What is Bitwise? As we know, bits are the smallest unit of a number and are mostly used in a computing system. So, in bitwise, we do operations on bits instead...

3 minutes read.

function pointer as argument in C

Pointers are considered difficult to understand for beginners but pointers can be made to work if you fiddle with them long enough. So, let’s understand this step by step. What are...

3 minutes read.

Pascal Triangle in C

The pascal triangle in c is an array of binomial coefficients in triangular form. Here the nth row contains the binomial coefficient of ncr.In a pascal triangle, every number is...

2 minutes read.

User Defined Functions in C

C Functions: A function is defined as a block of code that is used to perform some specific task. In functions, we use flower brackets ({}) which contain the set of programming...

5 minutes read.

If Statement in C

Decision Control Statements We frequently desire one set of instructions to be carried out in one circumstance while another set of instructions to be carried out in a completely different circumstance....

3 minutes read.

How to measure time taken by a function in C?

Measuring the time taken by a function is quite a complex task, because numerous methods are frequently not transferable to other platforms, measuring the execution time of a C programs...

5 minutes read.

gets() function in C

gets() is a pre-define or built-in function present in the stdio.h header file. stdio stands for standard input and output. gets() function is used to read a stream and store...

4 minutes read.

Kruskal algorithm in C

Given a weighted graph, Kruskal's algorithm generates a spanning tree with the lowest possible weights. Start by creating an edge list for the given graph, including the weights. Sort the...

3 minutes read.

Dynamic memory allocation

Dynamic memory allocation is used to allocate the memory at runtime. It has following function within <stdlib.h> header file. Function Syntax malloc() malloc (number *sizeof(int)); calloc() calloc (number, sizeof(int)); realloc() realloc (pointer_name, number * sizeof(int)); free() free (pointer_name); malloc() function The process...

2 minutes read.

What is the main in C?

In the C programming language, "main" is a predefined term or function. It is the primary function in every C program and is in charge of beginning and terminating the...

6 minutes read.

Ceil function in C

Introduction In the C Programming Language, the ceil function is a library function which is used to obtain the ceil value, i.e., it returns the smallest integer that is greater than...

4 minutes read.

Flow chart of While loop in C

This is a flowchart that represents the process of executing the while loop in the C programming language.Generally, as we know there are three main components of while loop:1. The...

3 minutes read.

Palindrome Number in C

What is a Palindrome? A number that doesn't change when reversed is known as a palindrome. We reverse a number and compare it to the original number to determine whether it is...

4 minutes read.

Binary Search in C with Best and Worst Time Complexity

What is Binary Search? Binary search is an algorithm that is used to find an element in a sorted array efficiently. It has a time complexity of O(log n). It means...

3 minutes read.

Pre-increment and Post-increment in C

The rich set of operators is supported by the c language. In c there are several operators used. The mathematical operations in the programming language are done with the operators...

4 minutes read.

Dos.h Header File in C Language

Dos.h is a header file in C. Interrupt handling, sound generation, date and time functions, and other tasks can be performed using the functions in this library. This is exclusive to...

4 minutes read.

Nested loop in C

Definition of Nested Loop A nested loop is generally used when we want to run a loop statement inside another loop statement. This kind of loop is also known as a...

3 minutes read.