C program to print fibonacci series upto 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 programming.

Example

Input

Input number of terms: 10

Output

Fibonacci series: 
0, 1, 1, 2, 3, 5, 8, 13, 21, 34

Fibonacci series

Required knowledge

Basic C programming, If statement, For loop, While loop

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 print Fibonacci series upto n terms

Step by step descriptive logic to print n Fibonacci terms.

  1. Input number of Fibonacci terms to print from user. Store it in a variable say terms.
  2. Declare and initialize three variables, I call it as Fibonacci magic initialization. a=0, b=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 terms, increment 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 copy the value of n-1th term to n-2th term i.e. a = b.

    Next, copy the value of nth to n-1th term b = c.

    Finally compute the new term by adding previous two terms i.e. c = a + b.

  5. Print the value of current Fibonacci term i.e. c.

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;

    /* Input 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;
}

Move a step forward and advance your programming skills by learning this program using recursive approach.

Learn more - Program to find nth Fibonacci series using recursion.

Output

Enter number of terms: 10
Fibonacci terms: 
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,

Let us modify the above code to print Fibonacci series between a 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;

    /* Input 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,

Happy coding 😉

About Pankaj

Pankaj Prakash is the founder, editor and blogger at Codeforwin. He loves to learn new techs and write programming articles especially for beginners. He works at Vasudhaika Software Sols as a Software Design Engineer and manages Codeforwin. In short Pankaj is Web developer, Blogger, Learner, Tech and Music lover.

Follow on: Facebook | Twitter | Google | or

Comments and discussion
Have a doubt, write here. I will help my best.
Before commenting you must escape your source code before commenting. Paste your source code inside
<pre><code> ----Your Source Code---- </code></pre>