C program to print all natural numbers from 1 to n using recursion

Write a recursive function in C programming to print all natural numbers between 1 to n. How to print all natural numbers from 1 to n using recursion in C program. Write a function in C program to display all natural numbers between a given range using the concept of recursion. Logic to print all natural numbers in given range using recursion in C programming.

Example

Input

Input lower limit: 1
Input upper limit: 10

Output

Natural numbers between 1 to 10: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 

Required knowledge

Basic C programming, Function, Recursion

Read more - Program to print all natural numbers in given range using loop

Declare recursive function to print natural numbers in given range

  1. First let us give a meaningful name to our function, say printNaturalNumbers().
  2. Next we need to print natural numbers in range. Hence, the function must accept two parameters i.e. start and end limit to print natural numbers. The new function declaration should look like printNaturalNumbers(int lowerLimit, int upperLimit);.
  3. Finally the function should print all natural numbers in given range returning nothing i.e. void.

Function declaration to print all natural numbers in given range should look like void printNaturalNumbers(int lowerLimit, int upperLimit);

Logic to print natural numbers in given range using recursion

For printing natural numbers in given range the base condition of the recursive function is loweLimit < upperLimit. Which is our required condition to return control from function. After checking base condition print the value of lowerLimit and make a recursive call to the printNaturalNumbers() function i.e. printNaturalNumbers(lowerLimit + 1, upperLimit);.

Program to print natural numbers from 1 to n using recursion

/**
 * C program to print all natural numbers from 1 to n using recursion
 */

#include <stdio.h>


/* Function declaration */
void printNaturalNumbers(int lowerLimit, int upperLimit);



int main()
{
    int lowerLimit, upperLimit;

    /* Input lower and upper limit from user */    
    printf("Enter lower limit: ");
    scanf("%d", &lowerLimit);
    printf("Enter upper limit: ");
    scanf("%d", &upperLimit);

    printf("All natural numbers from %d to %d are: ", lowerLimit, upperLimit);
    printNaturalNumbers(lowerLimit, upperLimit);
    
    return 0;
}


/**
 * Recursively prints all natural number between the given range.
 */
void printNaturalNumbers(int lowerLimit, int upperLimit)
{
    if(lowerLimit > upperLimit)
        return;
    
    printf("%d, ", lowerLimit);

    // Recursively call the function to print next number
    printNaturalNumbers(lowerLimit + 1, upperLimit);
}

Read more - Program to find sum of natural numbers in given range using recursion

Output

Enter lower limit: 1
Enter upper limit: 100
All natural numbers from 1 to 100 are: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,

Happy coding 😉

Write your doubts or suggestion. I will try my best to help. You must escape source code before commenting. To format your source code paste your source code inside
<pre><code> ----Your Source Code---- </code></pre>