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.
Required knowledge
Basic C programming, If else, For loop
Must have programming knowledge for this program.
Logic to print hollow square star pattern
Above pattern consists of N rows and N columns. Here stars(*) 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.
- Read number of rows to be printed from user. Store it in some variable say N.
- To iterate through rows, run an outer loop from 1 to N. For that define loop with structure for(i=1; i<=N; i++).
- To iterate through columns, run an inner loop from 1 to N Define loop with structure for(j=1; j<=N; j++).
- Inside inner loop print star for first and last row or for first and last column. Which is print star if i==1 OR i==N or j==1 OR j==N, otherwise print space.
Program to print hollow square pattern
/** * 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; }
Enter number of rows: 5 ***** * * * * * * *****
Logic to print hollow rectangle star pattern
Logic to print hollow rectangle star pattern is similar to hollow square star pattern. The only difference is hollow square pattern is a NxN matrix whereas hollow rectangle pattern is a MxN matrix.
Step-by-step descriptive logic to print hollow rectangle star pattern.
- Read number of rows and columns from user. Store it in some variable say rows and columns.
- To iterate through rows, run an outer loop from 1 to rows. Define a loop with structure for(i=1; i<=rows; i++).
- To iterate through columns, run an inner loop from 1 to columns. Define loop with structure for(j=1; j<=columns; j++).
- Inside this loop print star(*) for first or last row, or for first or last column, otherwise print blank space. Which is if i==1 OR i==rows or j==1 OR j==columns.
Program to print hollow rectangle star pattern
/** * C program to print hollow rectangle star pattern */ #include <stdio.h> int main() { int i, j, rows, columns; // Input number of rows and columns from user printf("Enter number of rows: "); scanf("%d", &rows); printf("Enter number of columns: "); scanf("%d", &columns); // Iterate over each row for(i=1; i<=rows; i++) { // Iterate over each column for(j=1; j<=columns; j++) { if(i==1 || i==rows || j==1 || j==columns) { // Print star for 1st and last row, column printf("*"); } else { printf(" "); } } // Move to the next line/row printf("\n"); } return 0; }
Enter number of rows: 5 Enter number of columns: 10 ********** * * * * * * **********
Happy coding ;)