w3resource logo


C Programming Exercises

C Exercises: Print Fibonacci Series

Secondary Nav

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 :

Flowchart: Print Fibonacci Series

-->

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.



Join our Question Answer community to learn and share your programming knowledge.

Help the community:

PHP: Loop

JavaScript: Delete duplicates in an array

Oracle: Round the number