Half Pyramid Number Pattern in C

In this tutorial, we will learn and write codes for various half pyramids number patterns in C programming language. However, in this tutorial, we will create a numeric pattern in C using for loop. So you may go through the following topic in C.

  • for loop in C : loops plays a key role to achieve various patterns in any programming language. Mastering patterns means having excellent grasp at loops.

Half Pyramid Number Pattern in C

We will look at the following topic of pyramid patterns in C. Each of the programs is consists of different number patterns.

  • Right half pyramid
  • Inverted right half pyramid

Right half Pyramid Pattern

Pattern 1: Also called the right triangle pattern.

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; ++i)
  {
    for (j = 1; j <= i; ++j)
    {
      printf("%d ", j);
    }

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5


Pattern 2:

#include <stdio.h>

int main()
{
  int rows, count = 1;

  printf("Enter the number of rows: ");
  scanf("%d", &rows);

  for (int i = 1; i <= rows; i++)
  {
    for (int j = 1; j <= i; j++)
    {
      printf("%d ", count);
      ++count;
    }

    printf("\n");
  }

  return 0;
}

Enter the number of rows: 4
1
2 3
4 5 6
7 8 9 10


Pattern 3: Pattern with a binary number in C

#include <stdio.h>

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

  printf("Enter the number of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = 1; j <= i; j++)
    {
      if (j % 2 == 0)
        printf("0");
      else
        printf("1");
    }

    printf("\n");
  }

  return 0;
}

Enter the number of rows: 6
1
10
101
1010
10101
101010


Pattern 4: Right-angled triangle pattern

The patterns have a similar number in each row. It can also be called half pyramid number patterns in C.

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = 1; j <= i; j++)
      printf("%d ", i);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5


Pattern 5:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = 1; j <= i; j++)
      printf("%d ", i *j);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 10
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
10 20 30 40 50 60 70 80 90 100


Pattern 6:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = rows; i >= 1; i--)
  {
    for (j = rows; j >= i; j--)
      printf("%d ", j);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
5
5 4
5 4 3
5 4 3 2
5 4 3 2 1


Pattern 7:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = rows; i >= 1; i--)
  {
    for (j = rows; j >= i; j--)
      printf("%d ", i);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
5
4 4
3 3 3
2 2 2 2
1 1 1 1 1


Inverted right half Pyramid Pattern

Pattern 1:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = rows; i >= 1; --i)
  {
    for (j = 1; j <= i; ++j)
      printf("%d ", j);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 6
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1


Pattern 2:

Half inverted right-angled triangle with decreasing order.

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = rows; i >= 1; i--)
  {
    for (j = i; j >= 1; j--)
    {
      printf("%d ", j);
    }

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1


Pattern 3:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = rows; i >= 1; i--)
  {
    for (j = 1; j <= i; j++)
      printf("%d ", i);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
5 5 5 5 5
4 4 4 4
3 3 3
2 2
1


Pattern 4:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = rows; j >= i; j--)
      printf("%d ", j);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
5 4 3 2 1
5 4 3 2
5 4 3
5 4
5


Pattern 5:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = i; j <= rows; j++)
      printf("%d ", j);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5


Pattern 6:

#include <stdio.h>

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

  printf("Enter the no. of rows: ");
  scanf("%d", &rows);

  for (i = 1; i <= rows; i++)
  {
    for (j = i; j <= rows; j++)
      printf("%d ", i);

    printf("\n");
  }

  return 0;
}

Enter the no. of rows: 5
1 1 1 1 1
2 2 2 2
3 3 3
4 4
5