# C program to print 8 star pattern

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.

Example

Input

`Input N: 5`

Output

## 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<N*2; 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-1`th row i.e. `if(i==N*2-1)`.
6. Otherwise print spaces if above conditions does not matches.

## Program to print 8 star pattern

``````/**
* C program to print 8 star pattern series
*/
#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

```Enter size: 6
****
*    *
*    *
*    *
*    *
****
*    *
*    *
*    *
*    *
****```

Happy coding 😉