#include <stdio.h>

void print_multiplies(char dan[9], int columns);

int main(void) {
	for(;;) {
		char query, dan[9] = "";
		int columns;

		printf("어떤 단을 출력하시겠습니까? ");
		if(scanf(" %c", &query) < 1 || (query |= 0x20) == 'c') return 0;

		printf("몇 열로 끊어서 출력하시겠습니까? ");
		if(scanf(" %d", &columns) < 1 ||
			columns < 1 || columns > 9) return 1;

		switch(query) {
		case 'a':
			dan[1] = dan[2] = dan[3] = dan[4] = dan[5]
				= dan[6] = dan[7] = dan[8] = 1;
			break;

		case 'e':
			dan[1] = dan[3] = dan[5] = dan[7] = 1;
			break;

		case 'o':
			dan[2] = dan[4] = dan[6] = dan[8] = 1;
		}

		print_multiplies(dan, columns);
	}

	return 1;
}

void print_multiplies(char dan[9], int columns) {
	register int i;

	for(i = 1; i <= 9; ++i, ++dan) {
		register int j;

		if(!*dan) continue;
		
		for(j = 1; j <= 9; ++j) {
			printf("%d * %d = %d\t", i, j, i * j);

			if(!(j % columns))
				putchar('\n');
		}

		putchar('\n');
	}
}