﻿ C Program: Calculate the factorial of a given number - w3resource

# C Exercises: Calculate the factorial of a given number

## C For Loop: Exercise-15 with Solution

Write a C program to calculate the factorial of a given number.

Step-by-step explanation of how a typical C program calculates the factorial of a given number:

• Include Standard Libraries: The program starts by including the standard input-output library (stdio.h) which allows the program to use functions like "printf()" and "scanf()".
• Main Function: The "main()" function is the entry point of the program where execution begins.
• Declare Variables: The program declares an integer variable, typically n, to store the number for which the factorial is to be calculated. Another variable, often called 'result', is initialized to 1 to store the factorial result.
• Input the Number: The program prompts the user to enter a number and reads the input using the "scanf()" function. This input is stored in the variable 'n'.
• Factorial Calculation (Using a Loop):
• A loop (such as a "for" loop or "while" loop) runs from 1 to the given number 'n'.
• In each iteration of the loop, the current value of the loop counter is multiplied by 'result', and the result is stored back in 'result'.
• For example, if n is 5, the loop iterates as follows:
• result = result * 1 (result is now 1)
• result = result * 2 (result is now 2)
• result = result * 3 (result is now 6)
• result = result * 4 (result is now 24)
• result = result * 5 (result is now 120)
• Output the Result: After the loop completes, the program prints the value of 'result', which now holds the factorial of the input number 'n'.
• Return Statement: The "main()" function returns 0 to indicate that the program executed successfully.

Visual Presentation:

Sample Solution:

C Code:

#include <stdio.h>  // Include the standard input/output header file.

void main(){
int i, f = 1, num;  // Declare variables 'i' for loop counter, 'f' to store factorial, 'num' for user input.

printf("Input the number : ");  // Print a message to prompt user input.
scanf("%d", &num);  // Read the value of 'num' from the user.

for(i = 1; i <= num; i++)  // Start a loop to calculate factorial.
f = f * i;  // Calculate factorial.

printf("The Factorial of %d is: %d\n", num, f);  // Print the calculated factorial.
}

Output:

Input the number : 5
The Factorial of 5 is: 120

Explanation:

for (i = 1; i <= num; i++)
f = f * i;

In the above for loop, the variable i is initialized to 1, and the loop will continue as long as i is less than or equal to the value of variable 'num'. In each iteration of the loop, the value of variable 'f' is updated by multiplying it with the value of i using the assignment operator (*=).

The loop will increment the value of i by 1, and the process will repeat until the condition i<=num is no longer true.

Flowchart:

C Programming Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿