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