C program to print diamond

Written by

Namrata Jangid

Printing Diamond:

The logic for printing a diamond pattern is printing a normal and an inverted Pascal’s Triangle together.

The code:

#include <stdio.h>

int main()
{
   int n, c, k, space = 1;

   printf("Enter number of rows: ");
   scanf("%d", &n);

   space = n - 1;

   for (k = 1; k <= n; k++)
   {
      for (c = 1; c <= space; c++)
         printf(" ");

      space--;

      for (c = 1; c <= 2*k-1; c++)
         printf("*");

      printf("\n");
   }

   space = 1;

   for (k = 1; k <= n-1; k++)
   {
      for (c = 1; c <= space; c++)
         printf(" ");

      space++;

      for (c = 1 ; c <= 2*(n-k)-1; c++)
         printf("*");

      printf("\n");
   }

   return 0;
}

The output:

Enter number of rows:  7

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

Learn C Programming

C program to print diamond