w3resource

C Exercises: Find the factorial of a given number

C Pointer : Exercise-12 with Solution

Write a program in C to find the factorial of a given number using pointers.

Visual Presentation:

C Exercises: Pictorial: Find the factorial of a given number.

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:

Flowchart: Find the factorial of a given number

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.



Follow us on Facebook and Twitter for latest update.