C Exercises: Find the factorial of a given number
Write a program in C to find the factorial of a given number using pointers.
Visual Presentation:
Sample Solution:
C Code:
#include <stdio.h>
// Function prototype to find factorial of a number using pointers
void findFact(int, int*);
int main() {
int fact; // Variable to store factorial
int num1; // Variable to store user input
printf("\n\n Pointer : Find the factorial of a given number :\n");
printf("------------------------------------------------------\n");
// Input a number from the user
printf(" Input a number : ");
scanf("%d", &num1);
// Call the function to calculate factorial passing the address of 'fact'
findFact(num1, &fact);
// Display the factorial of the given number
printf(" The Factorial of %d is : %d \n\n", num1, fact);
return 0;
}
// Function definition to find factorial using pointers
void findFact(int n, int *f) {
int i;
*f = 1; // Initialize the factorial to 1
// Loop to calculate factorial of the given number
for (i = 1; i <= n; i++) {
*f = *f * i; // Calculate factorial by multiplying *f with i
}
}
Sample Output:
Pointer : Find the factorial of a given number : ------------------------------------------------------ Input a number : 5 The Factorial of 5 is : 120
Flowchart:
C Programming Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a program in C to swap elements using call by reference.
Next: Write a program in C to count the number of vowels and consonants in a string using a pointer.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics