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

C Programming Language / Loop control in C Language

6180

Program:

/**
 * 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).

This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.