Table of Contents
C program to find factorial of a number|in 7 ways
In this tutorial, we will discuss the C program to find factorial of a number|in 7 ways

In this post, we are going to learn how to find the factorial of a number or the given number in C language
What is the factorial of a number (n)?
The factorial of a number (n) is the product of all positive integers from 1 up to n (n is the given number).
It is simply denoted by n!.
Example
if you want to find the factorial of number 5, you can follow this method.
Factorial of 5 will be 5*4*3*2*1=120
So, 5!=120.
Program 1
Find factorial of a number – using stranded method
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,num=5,fact=1;
for(i=1; i<=num; i++)
{
fact=fact*i;
}
printf("Factorial of %d is: %d",num,fact);
getch();
return 0;
}
When the above code is executed it produces the following output
Factorial of 5 is: 120
In this program
- Integer variable i, num1,fact are declared and initialized
- the program finds the factorial using for loop
- Then, the program is displayed the factorial of a number using println() function
Program 2
Find factorial of a number – using for loop
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,num,fact=1;
printf("Enter the number for find factorial: ");
scanf("%d",&num);
for(i=1; i<=num; i++)
{
fact=fact*i;
}
printf("Factorial of %d is: %d",num,fact);
getch();
return 0;
}
When the above code is executed it produces the following output
Enter the number for find factorial: 4 Factorial of 4 is: 24
The program allows the user to enter a value and it finds and displays factorial of the given number using for loop in C language
Program 3
Find factorial of a number – using while loop
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num,fact=1;
printf("Enter the number for find factorial\n");
scanf("%d",&num);
int i=1;
while(i<=num){
fact=fact*i;
i++;
}
printf("Factorial of %d is : %d",num,fact);
getch();
return 0;
}
When the above code is executed it produces the following output
Enter the number for find factorial 7 factorial of 7 is:5080
The program allows the user to enter a value and it finds and displays factorial of the given number using while loop in C language
Program 4
Find factorial of a number – using do-while loop
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num,fact=1;
printf("Enter the number to find factorial\n");
scanf("%d",&num);
int i=1;
do{
fact=fact*i;
i++;
} while(i<=num);
printf("Factorial of %d is : %d",num,fact);
getch();
return 0;
}
When the above code is executed it produces the following output
Enter the number to find fatorial 4 Factorial of 4 is : 24
The program allows the user to enter a value and it finds and displays factorial of the given number using the do-while loop in C language
Program 5
Find factorial of a number – using function
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Enter the number for find factorial\n");
fact(); //function call
}
int fact(){ //function definition
int i,num,fact=1;
scanf("%d",&num);
i=1;
while(i<=num){
fact=fact*i;
i++;
}
printf("Factorial of %d is : %d",num,fact);
//Display factorial
getch();
return 0;
}
When the above code is executed it produces the following output
Enter the number for find factorial 6 factorial of 6 is: 720
The program allows the user to enter a value and it finds and displays factorial of the given number using the function in C language
Program 6
Find factorial of a number – using recursion
#include <stdio.h>
#include <stdlib.h>
long int findFact(int num);
int main()
{
int num;
printf("Enter a positive integer: ");
scanf("%d",&num);
printf("factorial of %d = %ld",num,findFact(num));
getch();
return 0;
}
long int findFact(int num){
if (num>=1)
return num*findFact(num-1);
else
return 1;
}
When the above code is executed it produces the following output
Enter a positive integer: 8 factorial of 8 = 40320
The program allows the user to enter a value and it finds and displays factorial of the given number using recursion in C language
Program 7
Find factorial of a number – using the pointer
#include <stdio.h>
#include <stdlib.h>
void Factorial(int, long int*);
int main()
{
long int fact;
int num;
printf("Enter a integer to find factorial\n");
scanf("%d",&num);
Factorial(num,&fact);
printf("factorial of %d is %d ",num,fact);
getch();
return 0;
}
void Factorial(int n, long int *fact){
int i;
*fact=1;
for(i=1; i<=n; i++)
*fact=*fact*i;
}
When the above code is executed it produces the following output
Enter a integerto find factorial 5 factorial of 5 is 120
The program allows the user to enter a value and it finds and displays factorial of the given number using the pointer in C language
Similar post
C program to find factorial of a number
Java program to find factorial of a number
Python program to find factorial of a number
C++ program to find factorial of a number
Suggested for you
for loop in C language