C Program to Print Alphabet Q Pattern

In this article, we will show how to write a C program to print the Alphabet Q 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);

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

Instead of a for loop, this Alphabet Q 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 == 0 || i == rows - 2) && (0 < j < rows - 1))
{
printf("*");
}
else if ((j == 0 || j == rows - 1) && (i > 0 && (i < rows - 2)))
{
printf("*");
}
else if ((rows / 2 < i < rows) && (j == i && (j > rows / 2)))
{
printf("*");
}
else {
printf(" ");
}
j++;
}
printf("\n");
i++;
}
return 0;
}
Enter Rows = 17
***********
*               *
*               *
*               *
*               *
*               *
*               *
*               *
*               *
*        *      *
*         *     *
*          *    *
*           *   *
*            *  *
*             * *
***********
                *

In this C program, we create an alphabetQPat function that accepts those values and prints the Alphabet Q shape or Pattern of the given char.

#include <stdio.h>

void alphabetQPat(int rows, char a)
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < rows; j++)
{
if ((i == 0 || i == rows - 2) && (0 < j < rows - 1))
{
printf("%c", a);
}
else if ((j == 0 || j == rows - 1) && (0 < i && (i < rows - 2)))
{
printf("%c", a);
}
else if ((rows / 2 < i < rows) && (j == i && (rows / 2 < j)))
{
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);

alphabetQPat(rows, a);
return 0;
}
C Program to Print Alphabet Q Pattern