In this example, the user is asked to enter a number. The program will then calculate the factorial of the give number. For any given number the factorial is calculated as below,

Factorial of n (n!) = 1 * 2 * 3 * 4 * 5 * … n

Factorial of a negative number does not exist and the factorial of 0 is 1.

#include <stdio.h> int main() { int num, fact=1; printf("Please enter the number: "); scanf("%d", &num); if(num < 0) { printf("Factorial of a negative number does not exist.\n"); } else { for(int i=1; i<=num; i++) { fact = fact * i; } printf("Factorial = %d\n", fact); } return 0; }

First, two variables are declared, namely ** num** and

**.**

*fact***is initialized to 1 beacuse later on we have to use**

*fact***for multiplication. If we do not initiliaze**

*fact***with 1 then it will use some garbage value for mulitiplication or if we initialize it to 0 then our result will always be 0. Hence, it is important to remember that**

*fact***. Next, the user is asked to enter a number which is stored in num.**

*fact=1*if(num < 0) { printf("Factorial of a negative number does not exist.\n"); } else { for(int i=1; i<=num; i++) { fact = fact * i; } printf("Factorial = %d\n", fact); }

As mentioned before, the factorial of a negative number cannot be calculated. So, if user enters a negative number then following message is displayed on the console,

If user enters a positive number then the program will go into the **for-loop** and will calculate the factorial. Finally, it displays the result on the console.

## Output

Please enter the number: 6 Factorial = 720