C program to print X star pattern

Write a C program to print X star pattern series using loop. How to print the X star pattern series using for loop in C program. Logic to print X using stars in C programming.

Example

Input

Input N: 5

Output

Required knowledge

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

Logic to print the X star pattern

This logic was submitted by a Codeforwin lover – Md Shahbaz.

Let us divide the given pattern logically in two different sections as –

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).

Program to print X star pattern

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

#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;
}

Before you move on. You might love to check the similar number pattern program

Output

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

Happy coding 😉