Write a C program to print all even numbers from 1 to n using for loop. C program to generate all even numbers between given range. Logic to print even numbers using if else and for loop in given range in C programming.
Example
Input
Input upper range: 10
Output
Even numbers between 1 to 10: 2, 4, 6, 8, 10
Required knowledge
Basic C programming, Relational operators, If statement, For loop
There are various approaches to print even numbers in given range. Here in this post I will explain two common beginner methods to print even numbers.
Logic to print even numbers using if
condition
First let us talk about the easiest way to print even numbers. If I ask you to list all even numbers from 1 to 100 what will be your immediate step? You will probably start from 1 check if its even number then add it to the even list otherwise not.
Step by step descriptive logic to print all even number between 1 to n using if
condition.
- Input upper limit to the even numbers from user. Store it in some variable say N.
- Run a loop from 1, that runs till N, increment the loop counter by 1 in each iteration. The loop structure should look like
for(i=1; i<=N; i++)
. - Inside the loop body check even/odd condition. If the current number i is divisible by 2 then i is even. Means
if(i % 2 == 0)
, then print the value of i.
Program to print even numbers using if
condition
/**
* C program to print all even numbers from 1 to n
*/
#include <stdio.h>
int main()
{
int i, n;
/* Input upper limit of even number from user */
printf("Print all even numbers till: ");
scanf("%d", &n);
printf("Even numbers from 1 to %d are: \n", n);
/*
* Start loop counter from 1, increment it by 1,
* will iterate till n
*/
for(i=1; i<=n; i++)
{
/* Check even condition before printing */
if(i%2 == 0)
{
printf("%d\n", i);
}
}
return 0;
}
Logic to print even numbers without if
statement
The above approach to list even numbers is not optimal. It unnecessarily iterates for odd numbers which is a performance issue. To overcome this start the loop with first even number. We know if n is an even number then n + 2
is the next even number. Hence, to get next even number just add 2 to the current even number.
Step by step descriptive logic to print even numbers from 1 to n without using if
statement.
- Input upper limit to print even number from user. Store it in some variable say n.
- Run a loop from first even number i.e. 2 (in this case), that goes till n and increment the loop counter by 2 in each iteration. So the loop structure looks like
for(i=2; i<=n; i+=2)
. - Finally inside loop body print the value of i.
Program to print even numbers without using if
statement
/**
* C program to display all even numbers from 1 to n without if
*/
#include <stdio.h>
int main()
{
int i, n;
/* Input upper limit of even number from user */
printf("Print all even numbers till: ");
scanf("%d", &n);
printf("All even numbers from 1 to %d are: \n", n);
/*
* Start loop from 2 and increment by 2,
* in each repetition
*/
for(i=2; i<=n; i+=2)
{
printf("%d\n",i);
}
return 0;
}
Note: In the above code I have used shorthand assignment operator i+=2
which is equivalent to i = i + 2
.
Output
Print all even numbers till: 100 All even numbers from 1 to 100 are: 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
Finally let us write program to print even number in a given range.
Program to print even numbers in given range
/**
* C program to display all even numbers in given range
*/
#include <stdio.h>
int main()
{
int i, start, end;
/* Input upper and lower limit */
printf("Enter lower limit: ");
scanf("%d", &start);
printf("Enter upper limit: ");
scanf("%d", &end);
printf("All even numbers from %d to %d are: \n", start, end);
/* If 'start' is not even make it even */
if(start%2 != 0)
{
start++;
}
/*
* Initialize loop from start and increment by 2,
* for each repetition
*/
for(i=start; i<=end; i+=2)
{
printf("%d\n",i);
}
return 0;
}
Before moving on to next exercise or program. Enhance your skill and learn other approach to solve this program.
Learn more – Program to print even numbers using while loop.
Output
Enter lower limit: 40 Enter upper limit: 50 All even numbers from 40 to 50 are: 40 42 44 46 48 50
Happy coding 😉
Recommended posts
- Loop programming exercises index.
- C program to print odd numbers in given range.
- C program to print all natural numbers between 1 to n.
- C program to print all alphabets from a to z.
- C program to print all odd numbers between 1 to 100.
- C program to print sum of all even numbers between 1 to n.
- C program to print sum of all odd numbers between 1 to n.