Number Patterns
Number pattern 31 in C
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.
Example
Input
Input N: 5
Output
1 23 345 4567 56789
1 23 345 4567 56789
Required knowledge
Basic C programming, Loop
Logic to print the given number pattern 1
1 23 345 4567 56789
Before I discuss logic to print the given number pattern, I recommend you that have a close look to the pattern carefully for a couple of minutes. The above pattern consists of N rows (where N is the total number of rows to be printed). Each row contains i columns (where i is the current row number). To print the above pattern we will be using an extra variable say k that will keep the value which we need to print.
Step-by-step descriptive logic:
1.To iterate through rows, run an outer loop from 1 to N.
2.Inside the outer loop initialize k = i (where k is an extra variable which will hold the number which we need to print next and i is the current row number).
3.To print the numbers, run an inner loop from 1 to i. Inside this loop print the value of k. Also increment the value of k after printing.
And you are done, lets implement this.
Program to print the given number pattern 1
/** * C program to print number pattern */ #include <stdio.h> int main() { int i, j, k, N; printf("Enter N: "); scanf("%d", &N); for(i=1; i<=N; i++) { k = i; // Logic to print numbers for(j=1; j<=i; j++, k++) { printf("%d", k); } printf("\n"); } return 0; }
Output
Enter N: 5
1 23 345 4567 56789
Logic to print the given number pattern 2
1 23 345 4567 56789
If you look to the pattern you will notice that the pattern is similar to the pattern we just did except the trailing spaces. The logic to print the given pattern would be similar as the first pattern we just did. We only need to add the logic of printing spaces before the number gets printed. If you can notice, there are N - i spaces per row (where i is the current row number).
Step-by-step description to print spaces:
1.To print spaces, run an inner loop from i to N - 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, k, N; printf("Enter N: "); scanf("%d", &N); for(i=1; i<=N; i++) { k = i; // Logic to print spaces for(j=i; j<N; j++) { printf(" "); } // Logic to print numbers for(j=1; j<=i; j++, k++) { printf("%d", k); } printf("\n"); } return 0; }