# Triangle Printing In C

This section will deal to enhance understanding of loops and nested loops. We shall print various pattern to learn how loops in C works.

## Equilateral Triangle

```#include <stdio.h>

int main()
{
int n,i,j;
printf("Enter number of rows: ");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");

for(j=1;j<=i;j++)
printf("* ");

printf("\n");
}
return 1;
}
```

The output should look like this −

```     *
* *
* * *
* * * *
* * * * *
* * * * * *
```

## Upside Down Triangle

This program will print a triangle in upside down

```#include <stdio.h>

int main()
{
int n,i,j;

n = 5;

for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");

for(j=1;j<=i;j++)
printf("* ");

printf("\n");
}
return 1;
}
```

The output should look like this −

```* * * * *
* * * *
* * *
* *
*
```

## Right Triangle

```#include <stdio.h>
int main()
{
int n,i,j;

n = 5;

for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("*");

printf("\n");
}
return 0;
}
```

The output should look like this −

```*
* *
* * *
* * * *
* * * * *
```

## Top-Down Right Triangle

```#include <stdio.h>
int main()
{
int n,i,j;

n = 5;

for(i=n;i>=1;i--)
{
for(j=1;j<=i;j++)
printf("*");

printf("\n");
}
return 0;
}
```

The output should look like this −

```* * * * *
* * * *
* * *
* *
*
```

## Top-Down Right Triangle - 2

```#include <stdio.h>

int main()
{
int n,i,j;

n = 5;

for(i = 0; i < n; i++)
{
for(j=0; j<i; j++)
{
printf("  ");
}

for(j=i; j < n; j++)
{
printf(" *");
}

printf("\n");
}
return 0;
}
```

The output should look like this −

``` * * * * *
* * * *
* * *
* *
*
```

## Floyd's Triangle

```#include <stdio.h>

int main()
{
int n,i,j,k=1;

n = 5;

for(i = 1; i<=n;i++)
{
for(j=1;j< =i;j++)
printf("%3d",k++);

printf("\n");
}
return 0;
}```

The output should look like this −

```  1
2  3
4  5  6
7  8  9 10
11 12 13 14 15
```

## Pascal's Triangle

```#include <stdio.h>

int factorial(int n)
{
int f;
for(f=1;n>1;n--)
f*=n;
return f;
}

int ncr(int n,int r)
{
return factorial(n)/(factorial(n-r)*factorial(r));
}

int main()
{
int n,i,j;

n = 5;

for(i=0;i<=n;i++)
{
for(j=0;j<=n-i;j++)
printf("  ");
for(j=0;j<=i;j++)
printf("%4d",ncr(i,j));

printf("\n");
}
return 0;
}
```

The output should look like this −

```               1
1   1
1   2   1
1   3   3   1
1   4   6   4   1
1   5  10  10   5   1
```