C-Programming Tutorials

C Program to Find Factorial

This C program is used to calculate the factorial value using recursion.

Recursion: A function is called 'recursive' if a statement within the body of a function calls the same function. It is also called 'circular definition'. Recursion is thus a process of defining something in terms of itself.

Program to Calculate the Factorial Value Using Recursion.

Program:

#include <stdio.h>

int fact(int n);   

int main() {

    int x, i;

    printf("Enter a value for x: ");

    scanf("%d", &x);

    i = fact(x);

    printf("

    Factorial of %d is %d", x, i);

    return 0;

}

int fact(int n) {

    /* n=0 indicates a terminating condition */    if (n <= 0) {

return (1);

    } else {

/* function calling itself */return (n * fact(n - 1));

/*n*fact(n-1) is a recursive expression */    }

}

Program Output:

Enter a value for x:

4

Factorial of 4 is 24

Explanation:

fact(n) = n * fact(n-1)

If n=4

fact(4) = 4 * fact(3) there is a call to fact(3)

fact(3) = 3 * fact(2)

fact(2) = 2 * fact(1)

fact(1) = 1 * fact(0)

fact(0) = 1

fact(1) = 1 * 1 = 1

fact(2) = 2 * 1 = 2

fact(3) = 3 * 2 = 6

Thus fact(4) = 4 * 6 = 24

Terminating condition(n <= 0 here;) is a must for a recursive program. Otherwise the program enters into an

infinite loop.

C Program to Calculate Simple Interest by Given Principle, Rate of Interest and Time (Prev Lesson)
(Next Lesson) C Programming Leap Year Program
Back to C-Programming Tutorials

No Comments

Post a Reply

Course Curriculum

error: Content is protected !!