Asterisk printing1
• Write a program that outputs a triangle with a '*' character
• Input the Height repeatedly using the While statement
• Output a '*' character using the For statement
#include <stdio.h>
#include <stdlib.h>
/* print rectangular triangle */
int print_rec_triangle( int iHeight );
/* print equicrural triangle */
int print_equ_triangle( int iHeight );
int print_equ_triangle_r( int iHeight );
int
main( void )
{
int iHeight = 0;
do
{
printf( "please input the triangle height you want: " );
scanf( "%d", &iHeight );
if( iHeight > 0 )
{
printf( "\nrectangular triangle:\n" );
print_rec_triangle( iHeight );
printf( "\nequicrural triangle:\n" );
print_equ_triangle( iHeight );
printf( "\nequicrural triangle reverse:\n" );
print_equ_triangle_r( iHeight );
}
putchar( '\n' );
}while( iHeight > 0 );
return 0;
}
static int
print_blank( int iBlank )
{
int i = 0;
for( i = 0; i < iBlank; i++ )
{
putchar( ' ' );
}
return 0;
}
int
print_rec_triangle( int iHeight )
{
int i = 0;
int j = 0;
for( i = 0; i < iHeight; i++ )
{
for( j = 0; j <= i; j++ )
{
putchar( '*' );
}
putchar( '\n' );
}
return 0;
}
int
print_equ_triangle( int iHeight )
{
int iBlank = iHeight - 1;
int i = 0;
int j = 0;
for( i = 1; i <= iHeight; i++ )
{
print_blank( iBlank );
for( j = 1; j <= 2 * i - 1; j++ )
{
putchar( '*' );
}
putchar( '\n' );
iBlank--;
}
return 0;
}
int
print_equ_triangle_r( int iHeight )
{
int iBlank = 0;
int i = 0;
int j = 0;
for( i = iHeight; i >= 1; i-- )
{
print_blank( iBlank );
for( j = 1; j <= 2 * i - 1; j++ )
{
putchar( '*' );
}
putchar( '\n' );
iBlank++;
}
return 0;
}