Write a C program to print the given number pattern using loop. How to print the given triangular number pattern using for loop in C programming. Logic to print the given number pattern using for loop in C program.
Required knowledge
Logic to print the given number pattern 1
Before I get into details about the number pattern I recommend you to have a close eye to the pattern carefully for a minute. The above pattern contains N rows (where N is the total number of rows to be printed). As you can see that the pattern printing is in descending order hence to make things easier we will iterate through the outer loop in descending order. Each row contains exactly i number of columns (where i is the current row number).
Step-by-step description to print the pattern:
- To iterate through rows, run an outer loop from N to 1. Note – Since the pattern is printed in descending order therefore we have initialized the loop from N and iterate till 1.
- To print the pattern, run an inner loop from N to i (where i is the current row number). Inside this loop print the value of j (where j is the current column number).
Lets implement this logic on code.
Program to print the given number pattern 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 numbers
for(j=N; j>=i; j--)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Output
Enter N: 5 5 54 543 5432 54321
Logic to print the given number pattern 2
If you are done with first pattern, then logic to this wouldn’t be much difficult to get. This pattern is almost similar to the first pattern we just printed, except trailing spaces before the number. Hence, logic to print the pattern will be same as the first pattern, we only need to add the logic of printing spaces. You can hover your mouse cursor to the pattern to see or count the number of space. The pattern consists of i – 1 spaces per row (where i is the current row number). Note that in the given pattern we have assumed that row numbers are ordered descending from N-1.
Step-by-step descriptive logic to print spaces:
- To print spaces, run an inner loop from 1 to i – 1. Inside this loop print single blank space.
Program to print the given number pattern 2
/**
* 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=1; j<i; j++)
{
printf(" ");
}
// Logic to print numbers
for(j=N; j>=i; j--)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Happy coding 😉