C Program to Print Even Numbers in an Array

In this article, we will learn how to create a program in C that will ask the user to enter array elements (at run-time) and print out all the even array elements. Here is the program:

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], i;
    printf("Enter any 10 array elements: ");
    for(i=0; i<10; i++)
        scanf("%d", &arr[i]);
    printf("\nAll Even Array elements are:\n");
    for(i=0; i<10; i++)
    {
        if(arr[i]%2==0)
        {
            printf("%d ", arr[i]);
        }
    }
    getch();
    return 0;
}

The program was built and run in the Code::Blocks IDE. Here is the first snapshot of the sample run:

c print even array elements

Provide any 10 elements for the array and press the ENTER key to see all the even numbers from the given 10 array elements, as shown in the second snapshot given here:

print all even numbers from given array c

Program Explained

  • Receive any 10 array elements.
  • Create a for loop that starts from 0 to 9.
  • Inside the for loop, check whether the current element is an even number or not.
  • If it is an even number, print it out and continue to check for the next array element until all 10 elements gets checked and printed.
  • In this way, we will see all the even array elements as output.

Copy only even numbers from the array

Now let's modify the above program to create another array, say b[], that will hold all the even numbers in the original array:

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], i, b[10], j=0, count=0;
    printf("Enter any 10 array elements: ");
    for(i=0; i<10; i++)
        scanf("%d", &arr[i]);
    for(i=0; i<10; i++)
    {
        if(arr[i]%2==0)
        {
            b[j] = arr[i];
            count++;
            j++;
        }
    }
    printf("\n\nEven elements are:\n");
    for(i=0; i<count; i++)
    {
        if(i==(count-1))
            printf("%d", b[i]);
        else
            printf("%d, ", b[i]);
    }
    getch();
    return 0;
}

Here is the first snapshot of the sample run:

c program print even array elements

Provide any 10 elements for the array and press the ENTER key to see the output as shown in the second snapshot given here:

print even elements c

Program Explained

  • Receive any 10 array elements.
  • Create a for loop that starts from 0 to 9.
  • Inside the for loop, check whether the current element is an even number or not.
  • If it is an even number, then place this element in the second array, say array b[].
  • When an element is found as an even number (in the original array) and placed inside the "b" array, the index value for array b[] is incremented by 1.
  • After checking and placing each and every original array element (if found as an even number) inside the second array, say b[], come out of the for loop.
  • Now print the value of the second array, say b[], that will hold all the even array elements of the original array.

Allow the user to define the array size

Here is the modified version of the above program. In this program, the user is also allowed to provide the size of the array.

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], i, b[10], j=0, count=0, size;
    printf("Enter the size for array: ");
    scanf("%d", &size);
    printf("Enter any 10 array elements: ");
    for(i=0; i<size; i++)
        scanf("%d", &arr[i]);
    for(i=0; i<size; i++)
    {
        if(arr[i]%2==0)
        {
            b[j] = arr[i];
            count++;
            j++;
        }
    }
    printf("\nAll Even elements are:\n");
    for(i=0; i<count; i++)
    {
        if(i==(count-1))
            printf("%d", b[i]);
        else
            printf("%d, ", b[i]);
    }
    getch();
    return 0;
}

Here is the final snapshot of the above program:

print all even array elements c

C Quiz


« Previous Program Next Program »


Follow/Like Us on Facebook


Subscribe Us on YouTube