For any positive number n, its factorial is given by:
factorial = 1*2*3*4....n
If a number is negative, factorial does not exist and factorial of 0 is
1.
This program takes an integer from a user. If user enters negative
integer, this program will display error message and if user enters
non-negative integer, this program will display the factorial of that number.
Source Code to Find Factorial
of a Number
/* C program to display
factorial of an integer if user enters non-negative integer. */
#include <stdio.h>
#include <conio.h>
void main()
{
int n, count;
clrscr();
unsigned long long int factorial=1;
printf("Enter an integer: ");
scanf("%d",&n);
if ( n< 0)
printf("Error!!! Factorial of
negative number doesn't exist.");
else
{
for(count=1;count<=n;++count) /* for loop terminates if count>n */
{
factorial*=count; /* factorial=factorial*count */
}
printf("Factorial = %lu",factorial);
}
getch();
}
Output 1
Enter an integer: -5
Error!!! Factorial of negative
number doesn't exist.
Output 2
Enter an integer: 10
Factorial = 3628800
Here the type of factorial variable is declared as: unsigned long long. It is because, the factorial is always positive, so unsigned keyword
is used and the factorial of a number can be pretty large. For example: the
factorial of 10 is 3628800 thus, long long keyword is used.