13579
3579
579
79
9
/**
* 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 * 2) - 1;
// Logic to print spaces
for(j=1; j<i; j++)
{
printf(" ");
}
// Logic to print numbers
for(j=i; j<=N; j++, k+=2)
{
printf("%d", k);
}
printf("\n");
}
return 0;
}
13579
3579
579
79
9
13579
3579
579
79
9
The above pattern is similar to the previous we just printed above except the trailing spaces printed before the numbers. The logic for printing numbers will be similar as first pattern we printed, we only need to add logic of printing spaces. As you can see that each row contains exactly i - 1 spaces (where i is the current row number). You can also hover on to the pattern to see or count total spaces per row.
Step-by-step descriptive logic to print spaces:
First understand the algorithm carefully. Then study the program line-by-line and compare it with the output. Finally, review the explanation section to strengthen your logic and programming understanding.
Rewrite the program without looking at the code. Modify values, conditions or logic and run it again. This helps improve confidence and strengthens coding skills much faster.