C program to print all natural numbers from 1 to n

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

Example

Input

Input upper limit: 10

Output

Natural numbers from 1 to 10: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Required knowledge

Basic C programming, Loop

Logic to print natural numbers from 1 to n

There are various ways to print n numbers. For this post I am concentrating on for loops to print natural numbers. Below is the step by step descriptive logic to print natural numbers from 1 to n.

  1. Read the upper limit to print natural number from user. Store it in some variable say N.
  2. Initialize a for loop starting from 1, goes till N with 1 increment. The loop structure should be like for(i=1; i<=N; i++). At this point you might be thinking of various things such as.

    Why starting from 1? Because we are printing natural numbers from 1.

    Why going till N? Because we are printing natural numbers up to N.

    Why incrementing the loop counter by 1? Because difference between two natural numbers is 1.

  3. Inside the loop body print the value of i. Now why printing the value of i? Because we need to print the natural numbers from 1 to N and from the loop structure it is clear that i will iterate from 1 to N.

Let us code our first loop program.

Program to print natural numbers from 1 to n

/**
 * C program to print all natural numbers from 1 to n
 */

#include <stdio.h>

int main()
{
    int i, n;

    /*
     * Input the value of n
     */
    printf("Enter any number: ");
    scanf("%d", &n);

    printf("Natural numbers from 1 to %d : \n", n);

    /*
     * Start loop counter from 1 (i=1) and go till n (i<=n)
     * increment the loop count by 1 to get the next value. 
     * For each repetition print the value of i.
     */
    for(i=1; i<=n; i++)
    {
        printf("%d\n", i);
    }

    return 0;
}

Output

Enter any number: 10
Natural numbers from 1 to 10 :
1
2
3
4
5
6
7
8
9
10

Logic to print natural numbers in range

Using the above logic and program. You can easily find a way to print natural numbers in range (x to y). If not here is a hint.

  1. Input starting value from user, store it in some variable say start.
  2. Input ending value from user, store it in some another variable say end.
  3. Now, the most important thing to do. Change the above program loop structure. Initialize the loop from start that goes till end. The loop structure should look like for(i=start; i<=end; i++).

Program to print natural numbers in range

/**
 * C program to print all natural numbers in range
 */

#include <stdio.h>

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

    /*
     * Input start and end value
     */
    printf("Enter start value: ");
    scanf("%d", &start);
    printf("Enter end value: ");
    scanf("%d", &end);

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

    /*
     * Start loop counter from start (i=start) and go till 
     * end (i<=end), increment the loop count by 1 to get 
     * the next value. For each repetition print the value of i.
     */
    for(i=start; i<=end; i++)
    {
        printf("%d\n", i);
    }

    return 0;
}

Before you move on to the next exercise or program. Check out other approaches to print natural numbers.

Read more -

Output

Enter start value: 10
Enter end value: 15
Natural numbers from 10 to 15 :
10
11
12
13
14
15

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
<pre><code> ----Your Source Code---- </code></pre>