Program to print the odd number pattern
13579
3579
579
79
9

C Programming Language / Loop control in C Language

7209

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=1; i<=N; i++)
    {
        k = (i * 2) - 1;

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

        printf("\n");
    }

    return 0;
}

Output:

Output
Enter N: 5
13579
3579
579
79
9

Explanation:

Logic to print the given number pattern

 

13579
3579
579
79
9

 

If you look to the pattern you will find that the pattern only consists of odd numbers. There are N rows (where N is the total number of rows to be printed). As you can see that each row contains exactly N - i + 1 columns (where i is the current row number).
For printing the numbers we will be using an extra variable lets say k that will keep track of next odd number. For each row odd number starts with the expression i * 2 - 1.

Step-by-step descriptive logic:

  1. To iterate through rows, run an outer loop from 1 to N.
  2. Inside this outer loop, initialize variable k = i * 2 - 1 (where k is used to keep track of next odd number to be printed).
  3. To iterate though columns, run an inner loop from i to N (where i is the current row number).
    Inside this loop print the value of k and increment it to k = k + 2.

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.