C program to print X star pattern
*       *
 *     *
  *   *
   * *
    *
   * *
  *   *
 *     *
*       *

C Programming Language / Loop control in C Language

1364

Program:

/**
 * C program to print X star pattern series
* atnyla.com
 */

#include <stdio.h>

int main()
{
    int i, j, N;
    int count;

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

    count = N * 2 - 1;

    for(i=1; i<=count; i++)
    {
        for(j=1; j<=count; j++)
        {
            if(j==i || (j==count - i + 1))
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }

        printf("\n");
    }

    return 0;
}

Output:

Enter N: 5
*       *
 *     *
  *   *
   * *
    *
   * *
  *   *
 *     *
*       *

Explanation:

Step by step descriptive logic to print X star pattern.

  1. The pattern consists of exactly N * 2 - 1 rows and columns. Hence run an outer loop to iterate through rows with structure for(i=1; i<= count; i++) (where count = N * 2 - 1).
  2. Since each row contains exactly N * 2 - 1 columns. Therefore, run inner loop as for(j=1; j<=count; j++).
  3. Inside this loop as you can notice that stars are printed for the below two cases, otherwise print space.
    • For the first diagonal i.e. when row and column number both are equal. Means print star whenever if(i == j).
    • For the second diagonal i.e. stars are printed if(j == count - i + 1).

This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.