In this article, I will show you, How to write a C program to print half diamond star patterns. How to print half diamond star pattern in C programming. Here, one thing is important to know that the columns of the half diamond.
Logic to C program to print half diamond star pattern:
- Enter the column value for the half diamond.
- Here I have used two loops one is the outer loop to change the line and the second is inner loops to print star.
- Create a variable col and initialized with 1.
- The outer loop iterates column times and prints a newline after completing the inner loop. It also increments and decrements the col variable according to columns (a variable that contains columns of half diamond).
- Inner loop print the star 1 to the col (current column count).
Logic to C program to print half diamond star pattern:
#include <stdio.h>
int main()
{
int x = 0,y = 0;
unsigned int columns = 0;
unsigned int col = 0;
printf("Enter the number of columns = ");
scanf("%u",&columns);
for(x=0; x < (columns*2) ; ++x)
{
// Print spaces
for(y=0; y < col; ++y)
{
printf("*");
}
(x<columns)?(++col):(--col);
// Print new line
printf("\n");
}
return 0;
}
Output:

Code Analysis:
It asks the user to enter the columns for the half diamond.
printf("Enter the number of columns = ");
scanf("%u",&columns);
Inner loop print star 1 to (col-1) times.
// Print star
for(y=0; y < col; ++y)
{
printf("*");
}
The outer loop iterates 0 to (2* columns). It prints the new line and calculates the value of col.
for(x=0; x < (columns*2) ; ++x)
{
// Print star
for(y=0; y < col; ++y)
{
printf("*");
}
(x<columns)?(++col):(--col);
// Print new line
printf("\n");
}
Recommended Post:
- C program to Print Square Star Pattern.
- C program to print the mirrored right triangle star pattern.
- print hollow mirrored right triangle star pattern.
- How to use for loop in C.
- Use of if condition in C programs.
- File handling in C.
- C format specifiers.
- 100 C interview Questions.
- Pointer in C.
- Use of do-while in C.
- How to use fgetc in C?
- How to use fputc in C?
