C program to print a hollow inverted right triangle star pattern – In this article, we will discuss the multiple methods to print a hollow inverted right triangle star pattern.
Suitable examples and sample programs have also been added so that you can understand the whole thing very clearly. The compiler has also been added with which you can execute it yourself.
The methods used to do so in this piece are as follows:
- Using For Loop
- Using While Loop
- Using Do-While Loop
As the name of the title suggests, in this piece, a right triangle is a triangle with a single angle being 90 degrees.
As you can see, firstly, you need to enter the number of rows. Depending on that, you will be able to print the hollow inverted right triangle with that particular height.
Thus, the number of ways you can print the same in C programming is as follows:
Using For Loop
- Read the entered number of rows, character and store those values into the variables n, ch.
2) The outer for loop iterates through rows with the structure for(i=n;i>0;i–).
3) For 1st row, nth row
a) The 1st inner for loop iterates through columns with the structure for(j=1;j<=i;j++) and prints symbol.
4) For other than the 1st row, last row
a) The 2nd inner loop iterates through columns with the structure for(j=1;j<=i;j++)
if j=1 or i it prints symbol, otherwise it prints space.
5) Cursor comes to next line for each iteration of outer for loop.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <stdio.h> #include <conio.h> int main() { int i,j,n; char ch; printf("Enter number of rows: "); scanf("%d%c",&n,&ch); printf("Enter the symbol: "); ch=getchar(); for(i=n;i>0;i--) { if(i==1 || i==n) for(j=1;j<=i;j++) { printf("%c",ch); } else { for(j=1;j<=i;j++) { if(j==1 || j==i) printf("%c",ch); else printf(" "); } } printf("\n"); } return 0; } |
Output:
1 2 3 4 5 6 7 8 9 |
Enter number of rows: 7 Enter the symbol: * ******* * * * * * * * * ** * |
Using While Loop
- The outer while loop iterates through rows until i>0.
2) For 1st row, nth row
The 1st inner while loop iterates through columns until j<=i condition fails.
prints symbol,j value increased by 1.
3) For other than the 1st row, nth row
The 2nd inner while loop iterates through columns until j<=i condition fails.
if j=1 or i it prints symbol. Otherwise, it prints space.
j value increased by 1.
4) Cursor comes to next line.i value decreased by 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#include <stdio.h> #include <conio.h> int main() { int i,j,n; char ch; printf("Enter number of rows: "); scanf("%d%c",&n); printf("Enter the symbol: "); ch=getchar(); i=n; while(i>0) { if(i==1 || i==n) { j=1; while(j <=i) { printf("%c",ch); j++; } } else { j=1; while(j<=i) { if(j==1 || j==i) printf("%c",ch); else printf(" "); j++; } } printf("\n"); i--; } return 0; } |
Output:
1 2 3 4 5 6 7 |
Enter number of rows: 5 Enter the symbol: . ..... . . . . .. . |
Using Do-While Loop
- The Outer do-while loop iterates through rows.
2) For 1st row, nth row
The 1st inner do-while loop iterates through columns.
Prints the symbol,j value increased by 1.
Checks the condition j<=i. If the condition is true then loop iterates again. Loop iterates until the condition fails.
3) For other than the 1st row, nth row
The 2nd inner do-while loop iterates through columns.
prints symbol if j=1 or n.otherwise prints space.
j value increased by 1.
Checks the condition j<=i.If the condition is true then loop iterates again. Repeats until the condition becomes false.
4) Cursor comes to next line.i value decreased by 1.
5) Checks the condition i>0. If the condition is true then loop iterates again. The loop iterates until the condition becomes false.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#include <stdio.h> #include <conio.h> int main() { int i,j,n; char ch; printf("Enter number of rows: "); scanf("%d%c",&n); printf("Enter the symbol: "); ch=getchar(); i=n; do { if(i==1 || i==n) { j=1; do { printf("%c",ch); }while(++j <=i); } else { j=1; do { if(j==1 || j==i) printf("%c",ch); else printf(" "); }while(++j<=i); } printf("\n"); }while(--i>0); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 |
Enter number of rows: 9 Enter the symbol: ^ ^^^^^^^^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^^ ^ |