Home / Programs / C program to print hollow square or rectangle star pattern. ***** * * * * * * *****
Programming Example

C program to print hollow square or rectangle star pattern.
*****
*   *
*   *
*   *
*****

👁 1,428 Views
💻 Practical Program
📘 Step by Step Learning

Write a C program to print hollow square or rectangle star(*) pattern series using for loop. How to print hollow square or rectangle star pattern of N rows using for loop in C programming. Logic to print empty square or rectangle star pattern in C program.

Example

Input

Enter number of rows: 5

Output

 

*****
*   *
*   *
*   *
*****

Program Code

/**
 * C program to print hollow square star pattern
 */

#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++)
        {
            if(i==1 || i==N || j==1 || j==N)
            {
                /* Print star for 1st, Nth row and column */
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }

        /* Move to the next line/row */
        printf("\n");
    }

    return 0;
}

Output

Enter number of rows: 5 
*****
*   *
*   *
*   *
*****

Explanation

Logic to print hollow square star pattern

 

*****
*   *
*   *
*   *
*****

 

The above pattern is similar to square star pattern of N rows and N columns. Here star is printed only for first and last column or for first and last row.

Step by step descriptive logic to print empty square star pattern.

  1. Input number of rows to print from user. Store it in a variable say N.
  2. To iterate through rows, run an outer loop from 1 to N. For that define loop with structure for(i=1; i<=N; i++).
  3. To iterate through columns, run an inner loop from 1 to N. Define loop with structure for(j=1; j<=N; j++).
  4. Inside inner loop print star for first and last row or for first and last column. Which is print star if i==1or i==N or j==1 or j==N, otherwise print space.
  5. After printing all columns of a row, move to next line i.e. print a blank line after inner loop.

How to learn from this program

First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.