Program to print the given number pattern
56789
4567
345
23
1

C Programming Language / Loop control in C Language

3278

Program:

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

#include <stdio.h>

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

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

    for(i=N; i>=1; i--)
    {
        k = i;

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

        printf("\n");
    }

    return 0;
}

Output:

Enter N: 5
56789
4567
345
23
1

Explanation:

Logic to print the given number pattern

 

56789
4567
345
23
1

 

The above pattern consists of N rows (where N is the total rows to be printed). Now to iterate N times you can either go from 1-N or from N-1. Here in our case we will go from N-1 as the pattern printed is in decreasing order. Each row contains i columns (where i is the current row number). Note that the first row is row 5, second is 4 and so on last row is 1.
Step-by-step descriptive logic:

  1. To iterate through rows, run an outer loop from N to 1 in decreasing order.
  2. Inside the outer loop initialize another variable say k = i (where k is used to keep the value which is to be printed next).
  3. To print columns, run an outer loop from 1 to i. Inside this loop print the value of k after that increment the value of k to get next value.

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.