In this article, we will write a C program to print all even numbers from 1 to n using a while
loop.
The program takes the value of N from the user as input and prints all the even numbers from 1 to n on the screen as output.
Sample Input:
Enter the value of n: 10
Output:
All even numbers from 1 to 10 are: 2 4 6 8 10
A number is called an even number if it is divisible by 2 such as 2, 4, 6, 8, etc. But if the number is not divisible by 2, it is called an odd number such as 1, 3, 5, 7, etc.
In C language, we can use the modulus operator(%
) to check if the number is even or not. The modulus operator returns the remainder of dividing the first operand by the second operand.
For example, if we divide 5 by 2 using the modulus operator i.e. 5%2 the remainder would be 1, whereas dividing 6 by 2 using the modulus operator i.e. 6%2 gives 0. This means 5 is an odd number whereas 6 is an even number.
The following C program prints all the even numbers from 1 to n using a while
loop:
// C program to print all even numbers from 1 to n #include <stdio.h> int main(){ int i, n; printf("Enter the value of n: "); scanf("%d", &n); printf("All even numbers from 1 to %d are: ", n); i = 1; // Initialize i with 1 // Run while loop until i reaches n while(i<=n){ // Check if i is even if(i % 2 ==0){ printf("%d ", i); } // Increment i by one on each iteration i++; } return 0; }
Output:
Enter the value of n: 10 All even numbers from 1 to 10 are: 2 4 6 8 10
Code Explanation:
- The program first asks the user to input the value of n and store it in the variable
n
. - As we want to print all even numbers starting from 1, therefore, initialized
i=1
before running thewhile
loop. - The
while
loop checks if the current value ofi
is less thann
, if yes, it continues. If not, it terminates. - Inside the while loop’s body, the program checks if
i
is divisible by 2 using the modulus operator(%
), if it is, the value ofi
is printed on the screen. - In each iteration of the while loop, the value of
i
increments by 1 using the increment operator(++
).
Example 2: Print Even Numbers without using the If Statement
In the previous example, we used an if
statement to check if the number is even or not. We can also print all the even numbers from 1 to n without using the if
statement and make the program a bit optimal.
As we know, 2 is the smallest even number, therefore, to print all the even numbers between 1 and n, we can start from 2 and increment it by +2 every time the while
loop runs.
The following C program prints all the even numbers from 1 to n without using the if
statement:
// C program to print all even numbers from 1 to n #include <stdio.h> int main(){ int i, n; printf("Enter the value of n: "); scanf("%d", &n); printf("All even numbers from 1 to %d are: ", n); i = 2; // Since 2 is the smallest even number // Run while loop until i reaches n while(i<=n){ printf("%d ", i); // Increment i by 2 to get next even number i = i + 2; } return 0; }
Output:
Enter the value of n: 10 All even numbers from 1 to 10 are: 2 4 6 8 10
Thanks for reading.