WAP to print Fibonacci series by n terms

Write a C program to print Fibonacci series up to n terms using loop. How to generate Fibonacci series up to n terms using loops in C programming. Logic to print Fibonacci series in a given range in C program.
Example
Input
Input number of terms: 10
Output
Fibonacci series:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
What is Fibonacci series?
Fibonacci series is a series of numbers where the current number is the sum of previous two terms. For Example: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... , (n-1th + n-2th)
Logic to generate Fibonacci series
So far we know that we can get next Fibonacci term by adding previous two terms. Let us take this point to derive our logic. Below is the step by step descriptive logic to generate n Fibonacci terms.
1.            Read number of Fibonacci terms from user. Store it in some variable say terms.
2.            Initialize three variable, I call it as Fibonacci magic initialization. a=0b=1 and c=0. Here c is the current term, b is the n-1th term and a is n-2th term.
3.            Run a loop from 1 to term, incrementing loop counter by 1. The loop structure should look like for(i=1; i<=term; i++). It will iterate through n terms
4.            Inside the loop I will make three magic assignments of Fibonacci series. First a = b assigning the n-1th value to n-2. Second b = c assigning current term to n-1 term. Last c = a + b add the previous two terms to get the new term.
5.            Print the value of c to print the current Fibonacci term.
Program to print Fibonacci series up to n terms
/**
 * C program to print Fibonacci series up to n terms
 */

#include <stdio.h>

int main()
{
    int a, b, c, i, terms;

    /*
     * Read a number from user
     */
    printf("Enter number of terms: ");
    scanf("%d", &terms);

    // Fibonacci magic initialization
    a = 0;
    b = 1;
    c = 0;

    printf("Fibonacci terms: \n");

    // Iterate through n terms
    for(i=1; i<=terms; i++)
    {
        printf("%d, ", c);

        a = b; // Copy n-1 to n-2
        b = c; // Copy current to n-1
        c = a + b; // New term
    }

    return 0;
}
Advance your programming skills by learning this program using recursive approach.
Output
Enter number of terms: 10
Fibonacci terms:
0,1,1,2,3,5,8,13,21,34


Before you move on to next exercise or program. Let me show one more example related to Fibonacci series. Let us code the solution to print Fibonacci series between a given range. Below is the program to print Fibonacci series between given range.
Program to print Fibonacci series in given range
/**
 * C program to print Fibonacci series in given range
 */

#include <stdio.h>

int main()
{
    int a, b, c, start, end;

    /*
     * Read a number from user
     */
    printf("Enter starting term: ");
    scanf("%d", &start);
    printf("Enter end term: ");
    scanf("%d", &end);

    // Fibonacci magic initialization
    a = 0;
    b = 1;
    c = 0;

    printf("Fibonacci terms: \n");

    // Iterate through terms
    while(c <= end)
    {

        // If current term is greater than start term
        if(c >= start)
        {
            printf("%d, ", c);
        }

        a = b; // Copy n-1 to n-2
        b = c; // Copy current to n-1
        c = a + b; // New term
    }

    return 0;
}


Output
Enter starting term: 4
Enter end term: 30
Fibonacci terms:
5, 8, 13, 21

Comments

Most Viewed

Write C program to enter any year and check whether year is leap year or not using conditional/ternary operator.

WAP to input week number and print week day name.

C Program to Find Third Angle of a Triangle