Write a C program to print the given number pattern using for 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
In the above pattern there are N rows (where N is the total number of rows to be printed). As you know that to iterate N times, you can either go from 1-N or from N-1. Here in our case we will iterate though rows from N-1, since the pattern printed is in descending order. Each row contains exactly N – i + 1 columns (where i is the current row number).
Step-by-step descriptive logic:
- To iterate through rows, run an outer loop from N to 1 in decreasing order.
- To print columns, run an inner loop from i to N (where i is the current row number). Inside this loop print the value of j (where j is the current column number).
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=i; j<=N; j++)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Output
Enter N: 5 5 45 345 2345 12345
Logic to print the given number pattern 2
If you look to the above pattern you will find that it is same as the pattern we just printed above except of trailing spaces. Hence, the whole logic of printing the pattern will be same as first pattern, we only need to add the logic to print spaces. If you hover mouse on to the pattern you can see or count total spaces per row. In the given pattern each row contains i – 1 spaces (where i is the current row number). Note that row are in descending order i.e. row1 is 5, row2 is 4 and so on.
Step-by-step descriptive logic:
- To print spaces, run an inner loop from 1 to i. 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=i; j<=N; j++)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Happy coding 😉