# 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```

Categories C