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 loop in C program.
Required knowledge
Logic to print the given number pattern 1
To understand the logic of given pattern, I recommend you to have a careful look of the pattern for a minute. Now talking about the pattern, there are N number of rows (where N is given by user). Each row contains exactly N – i + 1 number of columns (where i is the current row number). And for each row in each column the value of j gets printed (where j is the current column number).
The step-by-step descriptive logic of the given pattern:
- To iterate through rows, start an outer loop from 1 to N.
- To print the numbers, start an inner loop from 1 to N – i + 1. Inside this loop print the value of j.
Lets now code the solution.
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=1; i<=N; i++)
{
// Logic to print numbers
for(j=1; j<=N-i+1; j++)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Output
Enter N: 5 12345 1234 123 12 1
Logic to print the given number pattern 2
Once you got the logic of first number pattern that we just printed, you can easily get the logic of this pattern. As it is almost similar to the first number pattern expect that it contains trailing spaces. Hence we only need to add the logic of printing trailing spaces to the first number pattern program.
To get the logic of this pattern just hover your mouse on the above pattern to see or count total spaces per row. There are total i – 1 spaces per row (where i is the current row number).
The step-by-step descriptive logic to print space:
- To print space, run an inner loop from 1 to i – 1. Inside this loop print single blank space.
Only this much you need to do. Lets implement this on code.
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=1; i<=N; i++)
{
// Logic to print spaces
for(j=1; j<i; j++)
{
printf(" ");
}
// Logic to print numbers
for(j=1; j<=N-i+1; j++)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}
Happy coding 😉