C Program to Find Factorial of a Number

In this tutorial, i am going to show you how to find factorial of a number in c program with the help of for loop, while loop, recursion and Function.

Algorithm of C Program for Factorial

Use the algorithm to write a program to find factorial of a number; as follows:

  • Start program
  • Ask the user to enter an integer to find the factorial
  • Read the integer and assign it to a variable
  • From the value of the integer up to 1, multiply each digit and update the final value
  • The final value at the end of all the multiplication till 1 is the factorial
  • End program

All C Programs to Find Factorial of a Number

  • C Program to find Factorial of a Number Using While Loop
  • C Program to find Factorial of a Number Using For Loop
  • C Program to find Factorial of a Number Using Recursion
  • C Program to find Factorial of a Number Using Function

C Program to find Factorial of a Number Using While Loop

#include<stdio.h>
int main(){
    int x=1,fact=1,n;
    printf("Enter a number to find factorial: ");
    scanf("%d",&n);
    while(x<=n){
        fact=fact*x;
        x++;
    } 
    printf("Factorial of %d is: %d",n,fact);
    return 0;
}

The result of the above c program; as follows:

Enter a number to find factorial: 5
Factorial of 5 is: 120

C Program to find Factorial of a Number Using For Loop

#include<stdio.h>
int main(){
    int x,fact=1,n;
    printf("Enter a number to find factorial: ");
    scanf("%d",&n); 
    for(x=1;x<=n;x++)
        fact=fact*x; 
    printf("Factorial of %d is: %d",n,fact);
    return 0;
}

The result of the above c program; as follows:

Enter a number to find factorial: 6
Factorial of 6 is: 720

C Program to find Factorial of a Number Using Recursion

#include <stdio.h>
int main(){
int n;
printf("Enter a number to find factorial: ");
scanf("%d",&n);
printf("The factorial of the number is %d", fact(n));
return 0;
}
// Recursive function to find factorial
int fact(int y){
if (y == 0)
return 1;
return y * fact(y - 1);
}

The result of the above c program; as follows:

Enter a number to find factorial: 9
The factorial of the number is 362880

C Program to find Factorial of a Number Using Pointer

#include <stdio.h>
 
int fact(int);
 
void main()
{
 int no,factorial;
 
  	printf("Enter a number to calculate it's factorial :- ");
  	scanf("%d",&no);
  	factorial=fact(no);
    printf("Factorial of the num(%d) = %d\n",no,factorial);
//printf("Factorial of the num(%d) = %d\n",no,fact(no));//another way of calling a function//comment above two lines if you want to use this
}
 
int fact(int n)
{
    int i,f=1;
    for(i=1;i<=n;i++)
    {
        f=f*i;
    }
    return f;
}

The result of the above c program; as follows:

Enter a number to calculate it's factorial :- 8
Factorial of the num(8) = 40320

More C Programming Tutorials

Leave a Comment