C Program to Print Alphabet Y Pattern

In this article, we will show how to write a C program to print the Alphabet Y pattern or shape of stars using for loop, while loop, and functions.

#include <stdio.h>

int main() {
int rows;

printf("Enter Rows = ");
scanf("%d", &rows);

if (rows % 2 == 0)
rows += 1;

for (int i = 0; i < rows; i++)
{
for (int j = 0; j < rows; j++)
{
if (((i + j == rows - 1 || i == j) && (i < rows / 2)) || (j == rows / 2 && i > rows / 2 - 1))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
Enter Rows = 15
*             *
 *           * 
  *         *  
   *       *   
    *     *    
     *   *     
      * *      
       *       
       *       
       *       
       *       
       *       
       *       
       *       
       *       

Instead of a for loop, this Alphabet Y Pattern of stars program uses a while loop to iterate the rows and columns. For more star programs, click here.

#include <stdio.h>

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

printf("Enter Rows = ");
scanf("%d", &rows);

i = 0;
while ( i < rows)
{
j = 0;
while ( j < rows)
{
if ((i + j == rows - 1) || (i == j && i < rows / 2))
{
printf("*");
}
else
{
printf(" ");
}
j++;
}
printf("\n");
i++;
}
}
Enter Rows = 17
*               *
 *             * 
  *           *  
   *         *   
    *       *    
     *     *     
      *   *      
       * *       
        *        
       *         
      *          
     *           
    *            
   *             
  *              
 *               
*                

In this C program, we create an alphabetYPat function that accepts those values and prints the Alphabet Y shape or pattern of the given char.

#include <stdio.h>

void alphabetYPat(int rows, char a)
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < rows; j++)
{
if (((i + j == rows - 1 || i == j) && (i < rows / 2)) || (j == rows / 2 && i > rows / 2 - 1))
{
printf("%c", a);
}
else
{
printf(" ");
}
}
printf("\n");
}
}
int main() {
int rows;
char a;

printf("Enter Alphabet = ");
scanf("%c", &a);

printf("Enter Rows = ");
scanf("%d", &rows);

if (rows % 2 == 0)
rows += 1;

alphabetYPat(rows, a);
return 0;
}
C Program to Print Alphabet Y Pattern