Write a C program to print hollow square star pattern with diagonal using loops. How to print hollow square star pattern with diagonals in C program. Logic to print hollow square star pattern with diagonal in C programming.
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.
Program to print hollow square with diagonal
/**
* C program to print hollow square star pattern with diagonal
*/
#include <stdio.h>
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 ***** ** ** * * * ** ** *****
Recommended posts
- Star patterns programming exercises index.
- Number pattern programming exercises index.
- Loop programming exercises index.
- Recommended patterns –
***** ***** ***** ***** *****
***** * * * * * * *****
***** ***** ***** ***** *****
***** ***** ***** ***** *****
***** * * * * * * *****
***** * * * * * * *****