#include <stdio.h>
#include <stdlib.h>
/* Puzzle A23 -- print a n by n square divided into quardrants of stars,
dots, dollars, and ohs */
int main()
{
int row, col;
int n=15;
for ( row=0; row<n; row++ )
{
for ( col=0; col<n; col++ )
{
if ( row<n/2 && col<n/2 )
printf("*");
else if ( row<n/2 )
printf(".");
else if ( col<n/2 )
printf("$");
else
printf("o");
}
printf("\n");
}
printf("\n");
return 0;
}
Comments:
The if structure determines which quadrant
the current row and col belong in,
then prints the appropriate character.
When n is odd, it is unclear what to do. Two small squares will be larger than the other two. Probably this is OK. In a serious application you would have to think carefully.
Maybe, when n is odd, you could make all the small squares the same size but separate them with a space.