# How to print the stars in Diamond pattern using C language?

Here, to print stars in diamond pattern, we are using nested for loops.

The logic that we use to print stars in diamond pattern is shown below −

//For upper half of the diamond the logic is:
for (j = 1; j <= rows; j++){
for (i = 1; i <= rows-j; i++)
printf(" ");
for (i = 1; i<= 2*j-1; i++)
printf("*");
printf("");
}

Suppose let us consider rows=5, it prints the output as follows −

      *
***
*****
*******
*********

//For lower half of the diamond the logic is:
for (j = 1; j <= rows - 1; j++){
for (i = 1; i <= j; i++)
printf(" ");
for (i = 1 ; i <= 2*(rows-j)-1; i++)
printf("*");
printf("");
}

Suppose row=5, the following output will be printed −

*******
*****
***
*

## Example

#include <stdio.h>
int main(){
int rows, i, j;
printf("Enter no of rows");
scanf("%d", &rows);
for (j = 1; j <= rows; j++){
for (i = 1; i <= rows-j; i++)
printf(" ");
for (i = 1; i<= 2*j-1; i++)
printf("*");
printf("");
}
for (j = 1; j <= rows - 1; j++){
for (i = 1; i <= j; i++)
printf(" ");
for (i = 1 ; i <= 2*(rows-j)-1; i++)
printf("*");
printf("");
}
return 0;
}

## Output

Enter no of rows
5
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*