54321
4321
321
21
1
/**
* C program to print number pattern
*/
#include <stdio.h>
int main()
{
int i, j, N;
printf("Enter N: ");
scanf("%d", &N);
for(i=N; i>=1; i--)
{
// Logic to print spaces
for(j=i; j<=N-1; j++)
{
printf(" ");
}
// Logic to print numbers
for(j=i; j>=1; j--)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
54321
4321
321
21
1
54321
4321
321
21
1
If you look to the above pattern you will find that the logic to print the numbers are similar as the previous pattern. Hence, we only need to write the logic to print the trailing spaces that gets printed before the number. You can hover on to the pattern to see or count the number of spaces per row. Total number of spaces per row is N - i (where N is the total number of rows and i is the current row number). Note that i loops in decreasing order i.e. at row1 i=5, at row2 i=4 and so on.
Step-by-step descriptive logic to print spaces:
First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.
After understanding this example, try to rewrite the same program without looking at the code. Then change some values or logic and run it again. This helps improve confidence and keeps learners engaged on the page for longer.