# C program to print all odd numbers from 1 to n

Write a C program to print all odd numbers from 1 to n using for loop. How to print odd numbers from 1 to n using loop in C programming. Logic to print odd numbers in a given range in C programming.

Example

Input

`Input upper limit: 10`

Output

```Odd numbers between 1 to 10:
1, 3, 5, 7, 9```

## Logic to print odd numbers from 1 to n using `if` statement

Logic to print odd numbers is similar to logic to print even numbers.

Step by step descriptive logic to print odd numbers from 1 to n.

1. Input upper limit to print odd number from user. Store it in some variable say N.
2. Run a loop from 1 to N, increment loop counter by 1 in each iteration. The loop structure should look like `for(i=1; i<=N; i++)`.
3. Inside the loop body check odd condition i.e. if a number is exactly divisible by 2 then it is odd. Which is `if(i % 2 != 0)` then, print the value of i.

## Program to print odd numbers using `if` statement

``````/**
* C program to print all Odd numbers from 1 to n
*/

#include <stdio.h>

int main()
{
int i, n;

/* Input upper limit from user */
printf("Print odd numbers till: ");
scanf("%d", &n);

printf("All odd numbers from 1 to %d are: \n", n);

/* Start loop from 1 and increment it by 1 */
for(i=1; i<=n; i++)
{
/* If 'i' is odd then print it */
if(i%2!=0)
{
printf("%d\n", i);
}
}

return 0;
}``````

## Logic to print odd numbers from 1 to n without `if` statement

The above approach is not optimal approach to print odd numbers. Observe the above program for a while. You will notice that, I am unnecessarily iterating for even numbers, which is not our goal.

Step by step descriptive logic to print odd numbers without using `if` statement.

1. Input upper limit to print odd number from user. Store it in some variable say N.
2. Run a loop from 1 to N, increment it by 2 for each iteration. The loop structure should look like `for(i=1; i<=N; i+=2)`.
3. Inside the loop body print the value of i.

## Program to display odd numbers without using `if` statement

``````/**
* C program to display all odd numbers between 1 to n without using if statement
*/

#include <stdio.h>

int main()
{
int i, n;

/* Input upper limit from user */
printf("Print odd numbers till: ");
scanf("%d", &n);

printf("All odd numbers from 1 to %d are: \n", n);

/*
* Start a loop from 1, increment it by 2.
* For each repetition prints the number.
*/
for(i=1; i<=n; i+=2)
{
printf("%d\n", i);
}

return 0;
}``````

Note: In the above program I have used shorthand assignment operator `i+=2` which is equivalent to `i = i + 2`.

Output

```Print odd numbers till: 100
All odd numbers from 1 to 100 are:
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
51
53
55
57
59
61
63
65
67
69
71
73
75
77
79
81
83
85
87
89
91
93
95
97
99```

## Program to print odd numbers in given range

``````/**
* C program to display all odd numbers in given range
*/

#include <stdio.h>

int main()
{
int i, start, end;

/* Input lower and upper limit from user */
printf("Enter lower limit: ");
scanf("%d", &start);
printf("Enter upper limit: ");
scanf("%d", &end);

printf("All odd numbers from %d to %d are: \n", start, end);

/* If start is not odd then make it odd */
if(start%2==0)
{
start++;
}

/*
* Initialize loop from start, increment it by 2.
* For each repetition print the number.
*/
for(i=start; i<=end; i+=2)
{
printf("%d\n", i);
}

return 0;
}``````

Output

```Enter lower limit: 10
Enter upper limit: 20
All odd numbers from 10 to 20 are:
11
13
15
17
19```

Happy coding 😉

Write your doubts or suggestion. I will try my best to help. You must escape source code before commenting. To format your source code paste your source code inside