Dark Mode On/Off

# C Program To Print Different Patterns

Here, we are given different patterns and our task is to print them in the given order. But before moving forward, if you are not familiar with the concept of loops in C, then do check the article on Loops in C.

Input: Enter the number of rows: 7

Output:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

## Program 1: Display Pascal's Triangle

In this method, we will use the factorial formula to print Pascal's triangle.

### Algorithm

1. Start
2. Declare a variable say rows to store the number of rows entered by the user.
3. Initialize the number of rows.
4. Use a for loop to iterate through all the rows i.e., from 0 to rows. The row should look like for(int i=0;i<rows;i++)
5. Use another loop inside the previous for loop to print the terms in Pascal's triangle. Initialize the loop from 0 that goes to i, increment 1 in each iteration.
6. Call a function to calculate the factorial.
7. Inside the inner loop use formula term = fact(n) / (fact(k) * fact(n-k)); to print current term of pascal triangle.
8. Display the pattern
9. Stop

Below is the code for the same.

``````
/* C program to print Pascal triangle up to n rows  */

#include <stdio.h>

long long fact(int n);   // Function definition

int main()
{
int n, k, rows, i;    //Declare variables
long long term;

printf("Enter number of rows : ");
scanf("%d", &rows);    //Initialize the rows
printf("\n");
for(n=0; n<rows; n++)
{
for(i=n; i<=rows; i++)  //Print 3 spaces
printf("%3c", ' ');

for(k=0; k<=n; k++)    //Term for the rows
{
term = fact(n) / (fact(k) * fact(n-k));   //Function Call

printf("%6lld", term);     //Print the terms
}

printf("\n");
}

return 0;
}

/*  Function to calculate factorial  */
long long fact(int n)      //Function Definition
{
long long factorial = 1ll;
while(n>=1)
{
factorial *= n;
n--;
}

return factorial;
}
``````

Enter the number of rows: 7
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

## Program 2: Display Pascal's Triangle

In this method, we will use loops to print Pascal's triangle pattern.

### Algorithm

1. Start
2. Declare the number of rows
3. Initialize the number of rows
4. Use three for loops to print the pattern
5. Use the first for loop to iterate till all the rows
6. Use the second for loop to print the spaces
7. Use the third for loop to print the pattern
8. Display the pattern
9. Stop.

Below is the code for the same.

``````/*C Program to print Pascal's Triangle*/
#include <stdio.h>

int main()
{
int rows, coef = 1;    //Row Declaration
printf("Enter the number of rows: ");
scanf("%d", &rows);   //Initialize the rows
printf("\n");
for (int i = 0; i < rows; i++)
{
for (int k = 1; k <= rows - i; k++)
printf("  ");

for (int j = 0; j <= i; j++)
{
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;

printf("%4d", coef);
}
printf("\n");
}
return 0;
}
``````

Enter the number of rows: 5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

## Program 3: Display Pascal's Triangle

In this method, we will use functions to print Pascal's triangle.

### Algorithm

1. Start
2. Declare the number of rows
3. Initialize the number of rows
4. Call a function to print the pattern.
5. Use three for loops to print the pattern
6. Use the first for loop to iterate till all the rows
7. Use the second for loop to print the spaces
8. Use the third for loop to print the pattern
9. Display the pattern
10. Stop.

Below is the code for the same.

``````#include <stdio.h>
void printPattern(int rows, int coef)   //Function Definition
{
for (int i = 0; i < rows; i++)
{
for (int k = 1; k <= rows - i; k++)
printf("  ");

for (int j = 0; j <= i; j++)
{
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;

printf("%4d", coef);
}
printf("\n");
}
}
int main()
{
int rows, coef = 1;    //Row Declaration
printf("Enter the number of rows: ");
scanf("%d", &rows);   //Initialize the rows
printf("\n");
printPattern(rows,coef);  //Function Call
return 0;
}``````

Enter the number of rows: 5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

Want to learn coding?
Try our new interactive courses.
Over 20,000+ students enrolled.