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

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

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 »