C program to print hollow mirrored right triangle star pattern

Write a C program to print hollow mirrored right triangle star pattern of n rows using for loop. How to print hollow mirrored right triangle star pattern series using for loop in C program. Logic to print hollow mirrored right triangle star pattern in C programming.

Example

Input

Input rows: 5

Output

Required knowledge

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

Must know – Program to print hollow right triangle.

Logic to print hollow mirrored right triangle star pattern

The above pattern is almost similar to mirrored right triangle star pattern with stars printed only for first or last column and for last row.

Step by step descriptive logic to print hollow mirrored right triangle star pattern.

  1. Input number of rows to print from user. Store it in a variable say rows.
  2. To iterate through rows, run an inner loop from 1 to rows with structure for(i=1; i<=rows; i++).
  3. To print spaces run an inner loop from i to rows. The loop structure should look like for(j=i; j<=rows; j++). Inside the loop print single space.
  4. To print star, run another inner loop from 1 to i with loop structure for(j=1; j<=i; j++). Inside the loop print star for first or last column or last row.
  5. After printing all columns move to next line.

Program to print hollow mirrored right triangle star pattern

/**
 * C program to print hollow mirrored right triangle star pattern
 */

#include <stdio.h>

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

    /* Input rows from user */
    printf("Enter number of rows : ");
    scanf("%d", &rows);

    /* Iterate through rows */
    for(i=1; i<=rows; i++)
    {
        /* Print trailing spaces */
        for(j=i; j<rows; j++)
        {
            printf(" ");
        }

        /* Print hollow right triangle */
        for(j=1; j<=i; j++)
        {
            /*
             * Print star for last row(i==row),
             * first column(j==1) and
             * last column(j==i).
             */
            if(i==rows || j==1 || j==i)
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }

        printf("\n");
    }

    return 0;
}

Output

Enter number of rows: 5
    *
   **
  * *
 *  *
*****

Happy coding 😉