 # C Program to Find Factorial of a Number

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

## Recommended C Programs 