C Program to Print Diamond Pattern of Numbers

Flow Control
If-else Statement in C
Programs on if-else
Switch Case in C
Switch case Programs
Conditional Operator
While loop in C
Do-while loop in C
While vs do-while
For loop in C
Break keyword in C
Continue keyword in C
Break vs Exit in C
Goto keyword in C
☕️ Flow Control Programs
Largest in 3 Numbers
Find Grade of student
Find the absolute value
Vowel or Consonant
Leap Year Program
Simple calculator in C
Check Odd or Even 
Roots of Quadratic Equation
Find Reverse of Number
Factors of a number in C
Generate Multiplication table
Find Power of a Number
Find GCD and LCM
Find factorial of Number
Count Number of Digits
Sum of digits in Number
Sum of N Natural Numbers
Sum of Squares of Natural No.
Find Sum of Odd Numbers
Find the Sum of Series
Find Fibonacci series in C
Sum of the Fibonacci series
Sum until enters +ve numbers
Sum of max 10 no. & Skip -ve
☕️ C Conversion Programs
Celsius to Fahrenheit
Fahrenheit to Celsius
Decimal ↔ Binary
Decimal ↔ Octal
Octal ↔ Binary in C
☕️ Number Programs in C
Prime Number in C
Strong Number in C
Krishnamurthy Number
Neon Number in C
Palindrome number
Perfect Number in C
Armstrong Number
☕️ Pattern Programs in C
Pattern programs in C
Printing pattern using loops
Floyd’s triangle Program
Pascal Triangle Program
Pyramid Star Pattern in C
Diamond Pattern Programs
Half Diamond pattern in C
Print Diamond Pattern
Hollow Diamond Pattern
Diamond Pattern of Numbers

There are many pattern programs are written by programmers for practice purposes. The diamond pattern programs are one of them. Here we will write the C program to print the diamond pattern of numbers.

C Program to Print the Diamond Pattern of Numbers

     1
    123
   12345
  1234567
 123456789
  1234567
   12345
    123
     1

The code for the above pattern is given below.

#include<stdio.h > 
int main()
{
   int n, a;

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

   // for first half portion 
   // from top to bottom
   for(int i=1; i<=n; i++)
   {
     // In each iteration a will
     // start from 1
     a = 1;

     // print space
     for(int j=i; j <= n; j++)
     {
       printf(" ");
     }

     // print digit
     for(int k=1; k <= 2*i-1; k++)
     {
       printf("%d",a++);
     }

     // new line
     printf("n");
   }

   // for second portion 
   for(int i=n-1; i>=1; i--)
   {
     // In each iteration a will
     // start from 1
     a=1;

     // print space
     for(int j=n; j>=i; j--)
     {
       printf(" ");
     }

     // print digit
     for(int k=1; k<=2*i-1; k++)
     {
       printf("%d",a++);
     }

     // new line
     printf("\n");
   }

   return 0;
}

Output for different test-cases:-

Enter N value: 3
   1
  123
 12345
  123
   1
Enter N value: 5
     1
    123
   12345
  1234567
 123456789
  1234567
   12345
    123
     1

Print the given pattern using the C program.

    0
   010
  01210
 0123210
012343210
 0123210
  01210
   010
    0

In this pattern, each row starts with zero and also ends with zero. It is a diamond pattern so every row contains odd items.

#include<stdio.h> 
int main()
{
   int n, a=0;

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

   // increasing portion of the pattern
   for(int i=1; i<=n+1; i++)
   {

     // print space
     for(int j=i; j<=n; j++)
     {
       printf(" ");
     }

     // print digit
     for(int k=1; k<=2*i-1; k++)
     {
        if(k<i) printf("%d",a++);
        else if(k==i) printf("%d",a);
        else printf("%d",--a);
      }

      // new line
      printf("\n");
   }

   // decreasing portion of the pattern
   for(int i=n; i>=1; i--)
   {
     // print space
     for(int j=n; j>=i; j--)
     {
       printf(" ");
     }

     // print digit
     for(int k=1; k<=2*i-1; k++)
     {
       if(k<i) printf("%d",a++);
       else if(k==i) printf("%d",a);
       else printf("%d",--a);
     }

     // new line
     printf("\n");
   }

   return 0;
}

Output for different test-cases:-

Enter value of n: 3
   0
  010
 01210
0123210
 01210
  010
   0
Enter value of n: 5
     0
    010
   01210
  0123210
 012343210
01234543210
 012343210
  0123210
   01210
    010
     0

Half Diamond Pattern Programs using Numbers

1
2*2
3*3*3
4*4*4*4
3*3*3
2*2
1

The code for the above pattern,

#include<stdio.h>
#include<stdlib.h>
int main()
{
  int n, place;

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

  for(int i=1; i< 2*n; i++)
  {
    if(i < n) place=i;
    else place = abs(2*n-i);

    for(int j=1; j< 2*place; j++)
    if(j%2==0) printf("*"); // stars
    else printf("%d",place); // numbers

    printf("\n"); // next line
  }

  return 0;
}

Output for different test-cases:-

Enter number of rows: 3
1
2*2
3*3*3
2*2
1

Enter number of rows: 5
1
2*2
3*3*3
4*4*4*4
5*5*5*5*5
4*4*4*4
3*3*3
2*2
1


1
12
123
1234
12345
1234
123
12
1

Code for the above pattern

#include<stdio.h>
#include<stdlib.h>
int main()
{
  int n, place, a;

  printf("Enter number of rows: ");
  scanf("%d",&n);
  
  for(int i=1; i< 2*n; i++)
  {
    a=1;

    if(i < n) place=i;
    else place = abs(2*n-i);
    
    // print digit
    for(int j=1; j<=place; j++)
    printf("%d",a++);

    printf("\n"); //next line
  }

  return 0;
}

Output for different test-cases:-

Enter number of rows: 5
1
12
123
1234
12345
1234
123
12
1

Enter number of rows: 7
1
12
123
1234
12345
123456
1234567
123456
12345
1234
123
12
1


1
123
12345
1234567
123456789
1234567
12345
123
1

Code for the above pattern

#include<stdio.h>
#include<stdlib.h>
int main()
{
  int n, place, a;

  printf("Enter number of rows: ");
  scanf("%d",&n);
  
  for(int i=1; i< 2*n; i++)
  {
    a=1;

    if(i < n) place=i;
    else place = abs(2*n-i);
    
    for(int j=1; j<=2*place-1; j++)
    printf("%d",a++);

    printf("\n"); //next line
  }

  return 0;
}

Output for different test-cases:-

Enter number of rows: 5
1
123
12345
1234567
123456789
1234567
12345
123
1

Enter number of rows: 7
1
123
12345
1234567
123456789
1234567891011
12345678910111213
1234567891011
123456789
1234567
12345
123
1


Hollow Diamond Number Pattern in C

     1
    2 2
   3   3
  4     4
 5       5
  4     4
   3   3
    2 2
     1

The pattern starts with 1 and displays up to 5. The first and last row contains only 1 and the remaining rows contain exactly 2 same numbers. From 1st to 5th row the size of pattern increases and from 6th to 9th row the size of pattern decreased.

#include<stdio.h>
int main()
{
   int n, a=1;

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

   // for first half portion
   for(int i=1; i<=n; i++)
   {

     // print space
     for(int j=i; j<=n; j++)
     {
       printf(" ");
     }

     // print digit and space
     for(int k=1; k<=2*i-1; k++)
     {
       if(k==1 || k==2*i-1) printf("%d",a);
       else printf(" ");
     }

     // decrease temp variable
     a++;

     // new line
     printf("\n");
   }

   // update temp variable
   a=n-1;

   // for second half portion
   for(int i=n-1; i>=1; i--)
   {

     // print space
     for(int j=n; j>=i; j--)
     {
       printf(" ");
     }

     // print digit and space
     for(int k=1; k<=2*i-1; k++)
     {
       if(k==1 || k==2*i-1) printf("%d",a);
       else printf(" ");
     }

     // decrease temp variable
     a--;

     // new line
     printf("\n");
   }

   return 0;
}

Output for different test-cases:-

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

If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or you find anything incorrect? Let us know in the comments. Thank you!

Flow Control
If-else Statement in C
Programs on if-else
Switch Case in C
Switch case Programs
Conditional Operator
While loop in C
Do-while loop in C
While vs do-while
For loop in C
Break keyword in C
Continue keyword in C
Break vs Exit in C
Goto keyword in C
☕️ Flow Control Programs
Largest among 3 Numbers
Find Grade of student
Find the absolute value
Check Vowel or Consonant
Leap Year Program
Simple calculator in C
Check Odd or Even 
Roots of Quadratic Equation
Find Reverse of Number
Factors of a number in C
Generate Multiplication table
Find Power of a Number
Find GCD and LCM
Find factorial of Number
Count Number of Digits
Sum of digits in Number
Sum of N Natural Numbers
Sum of Squares of Natural No.
Find Sum of Odd Numbers
Find the Sum of Series
Find Fibonacci series in C
Sum of the Fibonacci series
Sum until enters +ve numbers
Sum of max 10 no. & Skip -ve
☕️ C Conversion Programs
Celsius to Fahrenheit
Fahrenheit to Celsius
Decimal ↔ Binary
Decimal ↔ Octal
Octal ↔ Binary in C
☕️ Number Programs in C
Prime Number in C
Strong Number in C
Krishnamurthy Number
Neon Number in C
Palindrome number
Perfect Number in C
Armstrong Number
☕️ Pattern Programs in C
Pattern programs in C
Printing pattern using loops
Floyd’s triangle Program
Pascal Triangle Program
Pyramid Star Pattern in C
Diamond Pattern Programs
Half Diamond pattern in C
Print Diamond Pattern
Hollow Diamond Pattern
Diamond Pattern of Numbers

Leave a Reply