Star Patterns
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
*** * * * * * * *** * * * * * * ***
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.
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
**** * * * * * * * * **** * * * * * * * * ****