Before going to the program for *Pascal Triangle* first let us understand what is a *Pascal Triangle**?*

**Pascal Triangle:**

* Pascal triangle is a triangular array of the binomial coefficients.*

## Program code for Pascal Triangle in C:

/* Program for Pascal triangle */ #include<stdio.h> #include<conio.h> void main() { int i,j,k,n,c; clrscr(); printf("n Enter the limit: "); scanf("%d",&n); printf("n "); for(i=0;i<n;i++) { c=1; for(k=0;k<n-i;k++) { printf(" "); } for(j=0;j<=i;j++) { printf(" %d ",c); c=(c*(i-j)/(j+1)); } printf("n"); } getch(); }

## Working:

- First the computer reads the value of the limit from the user.
- Then using the loop the value of c and the spaces required are printed.
- Finally we will be getting the pascal triangle.

## Step by Step working of the above Program Code:

- Let us assume the value of limit as
**4**. - It assigns
**n=4**. - It assigns
**i=0**and the for loop continues until the condition**i<n**is true

3.1. i<n (**0<4**) for loop condition is true

It assigns **c=1**.

Then it assigns **k=0** and the for loop continues until the condition **k<n-i** is true

(**k<4**), So the for loop continues for 4 iterations and prints **4 blank spaces**

Then it assigns **j=0** and the for loop continues until the condition **j<=i** is true

j<=i (**0<=1**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(1-0)/0+1))) So, **c=1**

j++ So, **j=1**

j<=i (**1<=0**) for loop condition is false

So it comes out of the for loop.

i++ So, **i=1**

3.2. i<n (**1<4**) for loop condition is true

It assigns **c=1**.

Then it assigns **k=0** and the for loop continues until the condition **k<n-i** is true

(**k<3**), So the for loop continues for 3 iterations and prints **3 blank spaces**

Then it assigns **j=0** and the for loop continues until the condition **j<=i** is true

j<=i (**0<=1**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(1-0)/0+1))) So, **c=1**

j++ So,** j=1**

j<=i (**1<=1**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(1-1)/1+1))) So, **c=0**

j++ So, **j=2**.

j<=i (**2<=1**) for loop condition is false

So it comes out of the for loop.

i++ So,** i=2**

3.3. i<n (**2<4**) for loop condition is true

It assigns **c=1**.

Then it assigns **k=0** and the for loop continues until the condition **k<n-i** is true

(**k<2**), So the for loop continues for 2 iterations and prints **2 blank spaces**

Then it assigns **j=0** and the for loop continues until the condition** j<=i** is true

j<=i (**0<=2**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(2-0)/0+1))) So,** c=2**

j++ So,** j=1**

j<=i (**1<=2**) for loop condition is true

It prints** 2**(value of c).

c=(c*(i-j)/(j+1)) (c=(2*(2-1)/1+1))) So, **c=1**

j++ So,** j=2**

j<=i (**2<=2**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(2-2)/2+1))) So, **c=0**

j++ So,** j=3**

j<=i (**3<=2**) for loop condition is false

So it comes out of the for loop.

i++ So,** i=3**

3.4. i<n (**3<4**) for loop condition is true

It assigns **c=1**.

Then it assigns **k=0** and the for loop continues until the condition** k<n-i** is true

(**k<1**), So the for loop continues for 1 iteration and prints **1 blank space**

Then it assigns** j=0** and the for loop continues until the condition **j<=i** is true

j<=i (**0<=3**) for loop condition is true

It prints **1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(3-0)/0+1))) So, **c=3**

j++ So,** j=1**

j<=i (**1<=3**) for loop condition is true

It prints **3**(value of c).

c=(c*(i-j)/(j+1)) (c=(3*(3-1)/1+1))) So, **c=3**

j++ So,** j=2**

j<=i (**2<=3**) for loop condition is true

It prints **3**(value of c).

c=(c*(i-j)/(j+1)) (c=(3*(3-2)/2+1))) So, **c=1**

j++ So,** j=3**

j<=i (3<=3) for loop condition is true

It prints** 1**(value of c).

c=(c*(i-j)/(j+1)) (c=(1*(3-3)/3+1))) So, **c=0**

j++ So, **j=4**

j<=i (**4<=3**) for loop condition is false

So it comes out of the for loop.

i++ So, **i=4**

3.5. i<n (**4<4**) for loop condition is false.

So it comes out of the for loop.

- Thus the program execution is completed.