# C Exercises: Print Fibonacci Series

## C Recursion : Exercise-3 with Solution

Write a program in C to print Fibonacci Series using recursion.
Test Data :
Input number of terms for the Series (< 20) : 10
Expected Output :

```Input number of terms for the Series (< 20) : 10
The Series are :
1  1  2  3  5  8  13  21  34  55
```

C Code:

```#include<stdio.h>

int term;
int fibonacci(int prNo, int num);

void main()
{
static int prNo = 0, num = 1;
printf("\n\n Recursion : Print Fibonacci Series :\n");
printf("-----------------------------------------\n");

printf(" Input number of terms for the Series (< 20) : ");
scanf("%d", &term);
printf(" The Series are :\n");
printf(" 1  ");
fibonacci(prNo, num);
printf("\n\n");
}

int fibonacci(int prNo, int num)
{
static int i = 1;
int nxtNo;

if (i == term)
return (0);
else
{
nxtNo = prNo + num;
prNo = num;
num = nxtNo;
printf("%d  ", nxtNo);

i++;
fibonacci(prNo, num); //recursion, calling the function fibonacci itself
}
return (0);
}
```

Flowchart :

-->

C Practice online:

```#include<stdio.h>

int term;
int fibonacci(int prNo, int num);

void main()
{
static int prNo = 0, num = 1;
printf("\n\n Recursion : Print Fibonacci Series :\n");
printf("-----------------------------------------\n");

printf(" Input number of terms for the Series (< 20) : ");
scanf("%d", &term);
printf(" The Series are :\n");
printf(" 1  ");
fibonacci(prNo, num);
printf("\n\n");
}

int fibonacci(int prNo, int num)
{
static int i = 1;
int nxtNo;

if (i == term)
return (0);
else
{
nxtNo = prNo + num;
prNo = num;
num = nxtNo;
printf("%d  ", nxtNo);

i++;
fibonacci(prNo, num); //recursion, calling the function fibonacci itself
}
return (0);
}
```

Improve this sample solution and post your code through Disqus.

﻿