C program to find factorial of a number; Through this tutorial, we will learn how to find factorial of a number in c program using 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
Programs to Find Factorial of a Number in C
- 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 output 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 output 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 output 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 output of the above c program; as follows:
Enter a number to calculate it's factorial :- 8 Factorial of the num(8) = 40320