C program to print hollow square star pattern with diagonal
*****
** **
* * *
** **
*****
C Programming Language Loop control in C Language (Article) Loop control in C Language (Program)
2787Program:
/** * C program to print hollow square star pattern with diagonal * Programmer: atnyla */ #include int main() { int i, j, N; /* Input number of rows from user */ printf("Enter number of rows: "); scanf("%d", &N); /* Iterate over each row */ for(i=1; i<=N; i++) { /* Iterate over each column */ for(j=1; j<=N; j++) { /* * Print star for, * first row (i==1) or * last row (i==N) or * first column (j==1) or * last column (j==N) or * row equal to column (i==j) or * column equal to N-row (j==N-i+1) */ if(i==1 || i==N || j==1 || j==N || i==j || j==(N - i + 1)) { printf("*"); } else { printf(" "); } } /* Move to the next line */ printf("\n"); } return 0; }
Output:
Enter number of rows: 5 ***** ** ** * * * ** ** *****
Explanation:
Required knowledge
Basic C programming, If else, Logical operator, For loop, Nested loop
Logic to print hollow square with diagonal
***** ** ** * * * ** ** *****
The above pattern is a simple hollow square star pattern if we remove diagonal. It consists of N rows and columns (where N is the number of rows to print). For each row stars are printed in four conditions.
- For first or last row.
- For first or last columns.
- If row equals to column or row equals to
N-i+1
(where i is current row number).
Step by step descriptive logic to print hollow square star pattern with diagonal.
- Input number of rows to print from user. Store it in some variable say N.
- To iterate through rows run an outer loop from 1 to N, increment loop counter by 1. The loop structure should look like
for(i=1; i<=N; i++)
. - To iterate through columns run an inner loop from 1 to N, increment loop counter by 1. The loop structure should look like
for(j=1; j<=N; j++)
. - Inside the loop print star for first or last row, first or last column or when row equals to column or row equals to
N - i + 1
otherwise print space.
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.