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