C program to print reverse Pyramid star pattern
*********
*******
*****
***
*
C Programming Language Loop control in C Language (Article) Loop control in C Language (Program)
1323Program:
/** * 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.
- Input number of rows to print from user. Store it in a variable say rows.
- To iterate through rows, run an outer loop from 1 to rows. The loop structure should look like
for(i=1; i <= rows; i++)
. - To print spaces, run an inner loop from 1 to
i - 1
. The loop structure should look likefor(j=1; j < i; j++)
. Inside this loop print single space. - To print stars, run another inner loop from 1 to
rows * 2 - (i * 2 - 1)
. The loop structure should look likefor(j=1; j <= (rows*2 - (i*2-1)); j++)
. Inside this loop print star. - 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 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.