you just need to think that first line should be filled with *.
Second thing is first character of every line should be *.
and last character should also be *. and in between you need to fill spaces.
int main()
{
int n=6;
for(int i=n-1;i>=0;i--) // using n-1, bcz loop is running upto 0
{
for(int j=0;j<=i;j++)
{
if(i==n-1 || j==0 ||i==j)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}
The condition if(i==n-1 || j==0 ||i==j)
here i==n-1 is used so that first line should be filled with *.j==0 is used to make first character of every line *. every time when new line starts i.e j=0 it will print one * character.i==j this is used to make last character * when i==j that is last index upto which we are running loop. so at last index it will print a *.
And for all other values it will print space as it will run else condition.
OUTPUT
******
* *
* *
* *
**
*
solved print empty asterisk triangle c