Home / Programs / Logic to print the given number pattern 54321 4321 321 21 1
Programming Example

Logic to print the given number pattern
54321
 4321
  321
   21
    1

👁 6,301 Views
💻 Practical Program
📘 Step by Step Learning
Write a C program to print the given number pattern using loop. How to print the given number pattern using for loop in C programming. Logic to print the given number pattern using for loop in C program.

Program Code

/**
 * C program to print number pattern
 */

#include <stdio.h>

int main()
{
    int i, j, N;

    printf("Enter N: ");
    scanf("%d", &N);

    for(i=N; i>=1; i--)
    {
        // Logic to print spaces
        for(j=i; j<=N-1; j++)
        {
            printf(" ");
        }

        // Logic to print numbers
        for(j=i; j>=1; j--)
        {
            printf("%d", j);
        }

        printf("\n");
    }

    return 0;
}

Output

54321
 4321
  321
   21
    1

Explanation

Logic to print the given number pattern 

 

54321
 4321
  321
   21
    1

 

If you look to the above pattern you will find that the logic to print the numbers are similar as the previous pattern. Hence, we only need to write the logic to print the trailing spaces that gets printed before the number. You can hover on to the pattern to see or count the number of spaces per row. Total number of spaces per row is N - i (where N is the total number of rows and i is the current row number). Note that i loops in decreasing order i.e. at row1 i=5, at row2 i=4 and so on.
Step-by-step descriptive logic to print spaces:

  1. To print spaces, run an inner loop from i to N - 1. Inside this loop print the value of j (where j is the current column number).

How to learn from this program

First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.