# C Program to Count Even and Odd Numbers in an Array

How to write a C Program to Count Even and Odd Numbers in an Array using For Loop, While Loop, Functions with example?.

## C Program to Count Even and Odd Numbers in an Array

This program allows the user to enter the Size and the row elements of One Dimensional Array. Next, we are using the For Loop to iterate the array values and check for the Even and Odd Numbers

```/* C Program to Count Even and Odd Numbers in an Array */
#include<stdio.h>

int main()
{
int Size, i, a;
int Even_Count = 0, Odd_Count = 0;

printf("\n Please Enter the Size of an Array :  ");
scanf("%d", &Size);

for(i = 0; i < Size; i++)
{
scanf("%d", &a[i]);
}

for(i = 0; i < Size; i ++)
{
if(a[i] % 2 == 0)
{
Even_Count++;
}
else
{
Odd_Count++;
}
}

printf("\n Total Number of Even Numbers in this Array = %d ", Even_Count);
printf("\n Total Number of Odd Numbers in this Array = %d ", Odd_Count);
return 0;
}```

Here, For Loop will make sure that the number is between 0 and maximum size value. In this example, it will be from 0 to 4

```for(i = 0; i < Size; i ++)
```

In the Next line, We declared the If statement

`if(a[i] % 2 == 0)`

Any number that is divisible by 2 is even number. If condition will check whether the remainder of the current One Dimensional Array element divided by 2 is exactly equal to 0 or not.

• If the condition is True, then it is an Even number, and the C Programming compiler will increment Even_Count.
• If the condition is False, it is an Odd number, and compiler will increment Odd_Count.

## Program to Count Even and Odd Numbers in an Array using While Loop

This program is the same as above, but this time we used While Loop to count even and odd numbers in an array

```/* C Program to Count Even and Odd Numbers in an Array */
#include<stdio.h>

int main()
{
int Size, i, j = 0, a;
int Even_Count = 0, Odd_Count = 0;

printf("\n Please Enter the Size of an Array :  ");
scanf("%d", &Size);

for(i = 0; i < Size; i++)
{
scanf("%d", &a[i]);
}

while(j < Size)
{
if(a[j] % 2 == 0)
{
Even_Count++;
}
else
{
Odd_Count++;
}
j++;
}

printf("\n Total Number of Even Numbers in this Array = %d ", Even_Count);
printf("\n Total Number of Odd Numbers in this Array = %d ", Odd_Count);
return 0;
}```

C Count Even and Odd Numbers in an Array Output

``````
Please Enter the Size of an Array :  7

22 15 65 89 16 2 19

Total Number of Even Numbers in this Array = 3
Total Number of Odd Numbers in this Array = 4``````

## Program to Count Even and Odd Numbers in an Array using Functions

This C program is the same as the first example. But, we separated the logic to count even numbers and odd numbers using Functions.

```/* C Program to Count Even and Odd Numbers in an Array */
#include<stdio.h>

int CountEvenNumbers(int a[], int Size);
int CountOddNumbers(int a[], int Size);

int main()
{
int Size, i, a;
int Even_Count = 0, Odd_Count = 0;

printf("\n Please Enter the Size of an Array\n");
scanf("%d", &Size);

printf("\nPlease Enter the Array Elements :  ");
for(i = 0; i < Size; i++)
{
scanf("%d", &a[i]);
}

Even_Count = CountEvenNumbers(a, Size);
Odd_Count = CountOddNumbers(a, Size);

printf("\n Total Number of Even Numbers in this Array = %d ", Even_Count);
printf("\n Total Number of Odd Numbers in this Array = %d ", Odd_Count);
return 0;
}
int CountEvenNumbers(int a[], int Size)
{
int i, Even_Count = 0;
printf("\n List of Even Numbers in this Array: ");

for(i = 0; i < Size; i ++)
{
if(a[i] % 2 == 0)
{
printf("%d  ", a[i]);
Even_Count++;
}
}
return Even_Count;
}
int CountOddNumbers(int a[], int Size)
{
int i, Odd_Count = 0;
printf("\n List of Odd Numbers in this Array: ");

for(i = 0; i < Size; i ++)
{
if(a[i] % 2 != 0)
{
printf("%d  ", a[i]);
Odd_Count++;
}
}
return Odd_Count;
}```
``````
Please Enter the Size of an Array
10

Please Enter the Array Elements :  10 15 13 2 48 19 85 97 56 94

List of Even Numbers in this Array: 10  2  48  56  94
List of Odd Numbers in this Array: 15  13  19  85  97
Total Number of Even Numbers in this Array = 5
Total Number of Odd Numbers in this Array = 5 ``````