Here is a C program to print triangle and pyramid star pattern. This Program first takes the numbers of rows in pattern and then prints the corresponding pattern using nested for loops. This kind of problems are useful for beginners to understands the fundamentals of loops and spaces.
Here, we will discuss about four variations of patterns using '*' character, right triangle, inverted right triangle, pyramid and inverted pyramid.
C program to print triangle pattern using * and loop
In this program, we first take the number of rows in the pattern as input from user using scanf function. Then we use two for loops to print triangle pattern. Outer for loop prints one horizontal row of pattern in one iteration whereas inner for loop prints n stars for nth row in one iteration.
#include<stdio.h> int main() { int i,j,rows; printf("Enter the number of rows\n"); scanf("%d", &rows); for(i = 1; i <= rows; i++) { /* Prints one row of triangle */ for(j = 1; j <= i; ++j) { printf("* "); } printf("\n"); } return 0; }Output
Enter the number of rows 6 * * * * * * * * * * * * * * * * * * * * *
C program to print inverted triangle pattern using * and loop
This c program is similar to above program, the only difference is the pattern is inverted. For ith row we are printing (rows - i + 1) starts.
For Example
Let, total number of rows in pattern is 6 then.Number of starts in 3th row = 6 - 3 + 1 = 4
#include<stdio.h> int main() { int i,j,rows; printf("Enter the number of rows\n"); scanf("%d", &rows); for(i = rows; i > 0; i--) { /* Prints one row of triangle */ for(j = i; j > 0; j--) { printf("* "); } printf("\n"); } return 0; }Output
Enter the number of rows 6 * * * * * * * * * * * * * * * * * * * * *
C program to print pyramid pattern using * and loop
In this program, we are printing a pyramid pattern in which ith row contains (2*i - 1) space separated stars. We first take the number of rows in the pattern as input from user using scanf function. One iteration of outer for loop will print a row of pyramid. Inner for loop prints the initial spaces for every line and nested while loop prints (2*r - 1) space separated stars for rth row of pyramid.
#include<stdio.h> int main() { int row, space, rows, star=0; printf("Enter the number of rows in pyramid\n"); scanf("%d",&rows); for(row = 1;row <= rows; row++) { /* Printing spaces */ for(space = 1; space <= rows-row; space++) { printf(" "); } /* Printing stars */ while(star != (2*row - 1)) { printf("* "); star++;; } star=0; printf("\n"); } return 0; }Output
Enter the number of rows in pyramid 5 * * * * * * * * * * * * * * * * * * * * * * * * *
C program to print inverted pyramid pattern using * and loop
#include<stdio.h> int main() { int row, space, rows, star=0; printf("Enter the number of rows in reverse pyramid\n"); scanf("%d",&rows); for(row = rows;row >= 1; row--) { /* Printing spaces */ for(space = 0; space <= rows-row; space++) { printf(" "); } /* Printing stars */ star = 0; while(star != (2*row - 1)) { printf("* "); star++; } printf("\n"); } return 0; }Output
Enter the number of rows in reverse pyramid 5 * * * * * * * * * * * * * * * * * * * * * * * * *
Related Topics