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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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