Home / Programs / C program to print 8 star pattern **** * * * * * * * * **** * * * * * * * * ****
Programming Example

C program to print 8 star pattern
 ****
*    *
*    *
*    *
*    *
 ****
*    *
*    *
*    *
*    *
 ****

👁 1,222 Views
💻 Practical Program
📘 Step by Step Learning
Write a C program to print 8 star pattern series using loop. How to print 8 star pattern series using for loop in C program. Logic to print 8 star pattern series of N columns in C programming.

Program Code

/**
 * C program to print 8 star pattern series
* atnyla.com
 */
#include <stdio.h>

int main()
{
    int i, j, size;

    printf("Enter size: ");
    scanf("%d", &size);

    for(i=1; i<size*2; i++)
    {
        for(j=1; j<=size; j++)
        {
            // Condition for corner and center intersection space
            if((i==1 && (j==1 || j==size)) || 
               (i==size && (j==1 || j==size)) || 
               (i==size*2-1 && (j==1 || j==size)))
            {
                printf(" ");
            }
            else if(i==1 || i==size || i==(size*2)-1 || j==1 || j==size)
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }

        printf("\n");
    }

    return 0;
}

Output

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

Explanation

Required knowledge

Basic C programming, If else, For loop, Nested loop

Logic to print 8 star pattern

To simply things for beginners I have divided entire logic in three main sub tasks.

  • Print a hollow square star pattern with N columns and (N*2) - 1 rows.
  • Modify above hollow square pattern logic. Instead of star, print space at top and bottom corners and in the center intersection edge.
  • Finally modify hollow square logic to print star instead of space for Nth row.

Step by step descriptive logic to print 8 star pattern.

  1. Input number of columns to print from user. Store it in a variable say N.
  2. Iterate through (N*2)-1 rows. Run an outer loop with structure for(i=1; i.
  3. Iterate through N columns. Run an inner loop with structure for(j=1; j<=N; j++).
  4. Inside inner loop first check conditions for corner and center intersection spaces. Print space for
    1st row and 1st or Nth column i.e. if(i==1 && (j==1 || j==N))
    Nth row and 1st or Nth column i.e. if(i==N && (j==1 || j==N))
    N*2-1 row and 1st or Nth column i.e. if(i==N*2-1 && (j==1 || j==N))
  5. Print stars for 1st row or 1st column i.e. if(i==1 || j==1) Nth row or Nth column i.e. if(i==N || j==N) N*2-1th row i.e. if(i==N*2-1).
  6. Otherwise print spaces if above conditions does not matches.

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.