C Program to Print the Fibonacci Series Using Recursion

Introduction

The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones, starting from 0 and 1. This guide will show you how to write a C program to print the Fibonacci series using recursion.

Fibonacci Series Definition:

  • ( F(0) = 0 )
  • ( F(1) = 1 )
  • ( F(n) = F(n-1) + F(n-2) ) for ( n > 1 )

Example:

  • Input: ( n = 5 )
  • Output: ( 0, 1, 1, 2, 3 )

Problem Statement

Create a C program that:

  • Takes the number of terms to be printed in the Fibonacci series as input from the user.
  • Uses a recursive function to generate each Fibonacci number.
  • Prints the Fibonacci series up to the specified number of terms.

Solution Steps

  1. Include the Standard Input-Output Library: Use #include <stdio.h> for standard input-output functions.
  2. Write the Recursive Function: Define a recursive function that calculates the nth Fibonacci number.
  3. Write the Main Function: Define the main function to take user input and print the Fibonacci series.
  4. Input the Number of Terms: Use scanf to take input from the user for the number of terms.
  5. Print the Fibonacci Series: Use a loop in the main function to call the recursive function and print each Fibonacci number.
  6. Display the Result: Use printf to display the Fibonacci series.

C Program to Print the Fibonacci Series Using Recursion

#include <stdio.h>

// Step 2: Define the recursive function to calculate Fibonacci numbers
int fibonacci(int n) {
    if (n == 0) {
        return 0;  // Base case: F(0) = 0
    } else if (n == 1) {
        return 1;  // Base case: F(1) = 1
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);  // Recursive case: F(n) = F(n-1) + F(n-2)
    }
}

int main() {
    // Step 3: Declare variables to hold the number of terms
    int n;

    // Step 4: Prompt the user to enter the number of terms
    printf("Enter the number of terms: ");
    scanf("%d", &n);

    // Step 5: Print the Fibonacci series
    printf("Fibonacci series: ");
    for (int i = 0; i < n; i++) {
        printf("%d ", fibonacci(i));
    }
    printf("\n");

    return 0;  // Return 0 to indicate successful execution
}

Explanation

Step 2: Define the Recursive Function

  • The fibonacci function takes an integer n as input.
  • Base Cases:
    • If n is 0, the function returns 0 (since ( F(0) = 0 )).
    • If n is 1, the function returns 1 (since ( F(1) = 1 )).
  • Recursive Case:
    • If n is greater than 1, the function returns the sum of fibonacci(n - 1) and fibonacci(n - 2).

Step 3: Declare Variables

  • The variable n stores the number of terms in the Fibonacci series that the user wants to print.

Step 4: Input the Number of Terms

  • The program prompts the user to enter the number of terms using scanf.

Step 5: Print the Fibonacci Series

  • The program uses a for loop to iterate from 0 to n-1:
    • For each iteration, it calls the fibonacci function with the current index and prints the returned value.

Step 6: Return 0

  • The return 0; statement indicates that the program executed successfully.

Output Example

Example 1:

Enter the number of terms: 5
Fibonacci series: 0 1 1 2 3 

Example 2:

Enter the number of terms: 8
Fibonacci series: 0 1 1 2 3 5 8 13 

Conclusion

This C program demonstrates how to generate the Fibonacci series using a recursive function. It covers basic concepts such as recursion, base cases, and user input, making it a useful example for beginners learning C programming.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top