w3resource logo


C Programming Exercises

C Exercises: Print even or odd numbers in a given range

Secondary Nav

C Recursion : Exercise-14 with Solution

Write a program in C to print even or odd numbers in given range using recursion.
Test Data :
Input the range to print starting from 1 : 10
Expected Output :

All even numbers from 1 to 10 are : 2  4  6  8  10                              
All odd numbers from 1 to 10 are : 1  3  5  7  9 

C Code:

#include <stdio.h>
void EvenAndOdd(int stVal, int n);
 
int main()
{
    int n;
	printf("\n\n Recursion : Print even or odd numbers in a given range :\n");
	printf("-------------------------------------------------------------\n");	
     
    printf(" Input the range to print starting from 1 : ");
    scanf("%d", &n);
     
    printf("\n All even numbers from 1 to %d are : ", n);
    EvenAndOdd(2, n);//call the function EvenAndOdd for even numbers 
     
    printf("\n\n All odd numbers from 1 to %d are : ", n);
    EvenAndOdd(1, n);// call the function EvenAndOdd for odd numbers
    printf("\n\n");
     
    return 0;
}
void EvenAndOdd(int stVal, int n)
{
    if(stVal > n)
        return;
    printf("%d  ", stVal);
    EvenAndOdd(stVal+2, n);//calling the function EvenAndOdd itself recursively
}

Flowchart :

Flowchart: Print even or odd numbers in a given range.

-->

C Practice online:

#include <stdio.h>
void EvenAndOdd(int stVal, int n);
 
int main()
{
    int n;
	printf("\n\n Recursion : Print even or odd numbers in a given range :\n");
	printf("-------------------------------------------------------------\n");	
     
    printf(" Input the range to print starting from 1 : ");
    scanf("%d", &n);
     
    printf("\n All even numbers from 1 to %d are : ", n);
    EvenAndOdd(2, n);//call the function EvenAndOdd for even numbers 
     
    printf("\n\n All odd numbers from 1 to %d are : ", n);
    EvenAndOdd(1, n);// call the function EvenAndOdd for odd numbers
    printf("\n\n");
     
    return 0;
}
void EvenAndOdd(int stVal, int n)
{
    if(stVal > n)
        return;
    printf("%d  ", stVal);
    EvenAndOdd(stVal+2, n);//calling the function EvenAndOdd itself recursively
}

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:

Python: Fizzbuzz

C++: Decimal to binary conversion

JavaScript: Need Help in JavaScript

Python: Help me with this program