C Program To Print Pyramid Pattern Of Numbers
In this article, you will look at C program to print pyramid pattern of numbers. We will see different types of pyramids like hollow pyramids, reverse pyramids, etc.
- Number pyramid pattern in C
- Reverse Number pyramid pattern in C
- Hollow Number pyramid
- Hollow reverse pyramid
Table Of Contents
1. Number pyramid pattern in C
Number pyramid pattern in C is a very famous pyramid pattern made up of numbers and has the shape of an equilateral triangle which is called a pyramid in this sense.
These patterns can be created with different kinds of arrangements of numbers. We will see 2 types here. In one types number increase in a row and in other types number increase in the column.
1.1. Pyramid - Number increment in row
In this pattern, the number starts from 1 in each row and increases throughout the row. And from next line again starts from 1. Here is how it looks.
1 123 12345 1234567 123456789
Here are the steps to create this pattern.
- Take variable 'size' to store the size of the pyramid.
- Set it a value either by user input or default value.
- Create a for loop to print pyramid and execute it for 'size' number of times.
- Inside this loop create 2 other loops first one to print spaces and the second one to print numbers.
- Print spaces for size of pyramid minus current row number.
- Print numbers for 2 * current row number + 1. Use row variable to print increasing numbers.
- Print new line after each row.
#include <stdio.h>
int main() {
// size of pyramid
// can also be read from stdin
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
for (int j = 0; j < size-i-1; j++) {
printf(" ");
}
// printing number
for (int k = 0; k < 2*i+1; k++) {
printf("%d", k+1);
}
printf("\n");
}
return 0;
}
Output:
1 123 12345 1234567 123456789
1.2. Pyramid - Number increment in column
In this pattern number starts from 1 in the first row, in second-row number will be 2 and the same numbers will be printed throughout the row. Here is how it looks.
1 222 33333 4444444 555555555
Steps to create this are almost the same as above but in step number 6 use the external variable 'i' to print numbers. This will cause printing the same number throughout the row and number increase only in the next row.
#include <stdio.h>
int main() {
// size of pyramid
// can also be read from stdin
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
for (int j = 0; j < size-i-1; j++) {
printf(" ");
}
// printing numbers
for (int k = 0; k < 2*i+1; k++) {
printf("%d", i+1);
}
printf("\n");
}
return 0;
}
Output:
1 222 33333 4444444 555555555
2. Reverse Number pyramid pattern in C
The reverse number pyramid is a pyramid pattern just rotated 180 degrees. You can also visualize it as a water image of a number pyramid.
Again it can have 2 types. One type has an increasing number in a row and another type has an increasing number in the column.
2.1. Reverse pyramid - Number increment in row
This is a reverse number pyramid pattern where numbers start from 1 in each row and increase throughout the row. Here is how it looks.
123456789 1234567 12345 123 1
The steps to create a reverse number pyramid is as follows:
- Take the size of your pyramid.
- Create a nested loop to print the pyramid.
- In the first internal loop print spaces for current row number minus 1.
- In the second internal loop print numbers for 2 times of size minus current row number and minus 1.
- Print newline after end of the second internal loop.
#include <stdio.h>
int main() {
// size of pyramid
// can also take user input
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
for (int j = 0; j < i; j++) {
printf(" ");
}
// print number
for (int k = 0; k < 2*(size-i)-1; k++) {
printf("%d", k+1);
}
printf("\n");
}
return 0;
}
Output:
123456789 1234567 12345 123 1
2.2. Reverse pyramid - Number increment in column
This is a reverse number pyramid pattern and numbers start from 1 in the first row, 2 in the second row and so on. Here is how it looks.
111111111 2222222 33333 444 5
This is the same as the above program just change the number printing variable to 'i' and you will have this pattern.
#include <stdio.h>
int main() {
// size of pyramid
// can also take user input
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
for (int j = 0; j < i; j++) {
printf(" ");
}
// print number
for (int k = 0; k < 2*(size-i)-1; k++) {
printf("%d", i+1);
}
printf("\n");
}
return 0;
}
Output:
111111111 2222222 33333 444 5
3. Hollow number pyramid pattern
The hollow number pyramid pattern is a pyramid pattern that has a number only at boundaries and is hollow inside.
1 1 2 1 2 1 2 123456789
The complete code for the hollow number pyramid pattern program in C is as follows:
#include <stdio.h>
int main() {
// size of pyramid
// can also take user input
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
for (int j = 0; j < size-i-1; j++) {
printf(" ");
}
// printing number and inner spaces
int num = 1;
for (int k = 0; k < 2*i+1; k++) {
if (i == 0 || i == size - 1) {
printf("%d", num++);
} else {
if (k == 0 || k == 2*i) {
printf("%d", num++);
} else {
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
Output:
1 1 2 1 2 1 2 123456789
4. Hollow reverse number pyramid pattern
The hollow reverse number pyramid pattern is a pyramid pattern that is reversed as well as hollo inside.
123456789 1 2 1 2 1 2 1
The code of hollow reversed number pyramid is very much like a normal hollow pyramid pattern, with just a little change in the code.
#include <stdio.h>
int main() {
// size of pyramid
// can also take user input
int size = 5;
for (int i = 0; i < size; i++) {
// printing spaces
// in order 1, 2 , 3,...
for (int j = 0; j < i; j++) {
printf(" ");
}
// printing number and inner spaces
int num = 1;
for (int k = 0; k < 2*(size-i)-1; k++) {
// print number in 1st and last row
if (i == 0 || i == size - 1) {
printf("%d", num++);
} else {
// print number at 1st and last position of other rows
if (k == 0 || k == 2*(size-i-1)) {
printf("%d", num++);
} else {
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
Output:
123456789 1 2 1 2 1 2 1
Conclusion
In this short guide, we have seen 6 different C program to print pyramid pattern of numbers. Here is the list of other pattern programs in C that you must have a look at.
If you want to check more pattern programs in another programming language than C then look at star pattern in javascript, pattern program in python, star pattern program in PHP, and pattern program in java.