C program to print reverse Pyramid star pattern
 
   *********
   *******
   *****
   ***
    * 

C Programming Language / Loop control in C Language

1402

Program:

/**
 * C program to print reverse pyramid star pattern 
* atnyla.com
 */

#include"stdio.h"

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

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

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

        /* Print stars */
        for(j=1; j <= (rows*2 -(2*i-1)); j++)
        {
            printf("*");
        }

        /* Move to next line */
        printf("\n");
    }

    return 0;
}


Output:

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

Explanation:

Required knowledge

Basic C programming, For loop, Nested loop

Logic to print reverse pyramid star pattern

 

*********
 *******
  *****
   ***
    *

 

The above pattern has N (in this case 5) rows. Each row has exactly N * 2 - (i * 2 - 1) stars. In addition the pattern consists of leading spaces. For each row it contain i - 1 leading space (where i is current row number).

Step by step descriptive logic to print reverse pyramid 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 outer loop from 1 to rows. The loop structure should look like for(i=1; i <= rows; i++).
  3. To print spaces, run an inner loop from 1 to i - 1. The loop structure should look like for(j=1; j < i; j++). Inside this loop print single space.
  4. To print stars, run another inner loop from 1 to rows * 2 - (i * 2 - 1) . The loop structure should look like for(j=1; j <= (rows*2 - (i*2-1)); j++). Inside this loop print star.
  5. After printing all stars for each row, move to next line i.e. print new line.

C++ Code


 /**
 * C program to print reverse pyramid star pattern 
 * atnyla.com
 */

#include<iostream>
using namespace std; 

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

    /* Input rows to print from user */
    cout << "Enter number of rows " ;
    cin >> rows ;

    for(i=1; i <= rows; i++)
    {
        /* Print leading spaces */
        for(j=1; j < i; j++)
        {
            cout << " " ;
        }

        /* Print stars */
        for(j=1; j <= (rows*2 -(2*i-1)); j++)
        {
            cout << "*" ;
        }

        /* Move to next line */
        cout << "\n" ;
    }

    return 0;
}


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.