Другие решения включали модификацию boo, которая, как вы сказали, противоречила правилам, здесь простое решение. Просто используйте внутренний цикл, который печатает каждый 4-й символ относительно внешнего цикла.
int main() {
int i, j;
for(i = 0; i < 4; ++i) {
for(j = 0; j < 4; ++j) {
putchar(boo[i + j * 4]);
}
putchar('\n');
}
}
Подумайте об этом, это эффективно обрабатывает бу вручную, как если бы это был двумерный массив символов. Поскольку формула для индексации 1d-массива с помощью 2d имеет вид (x + y * width), вы можете представить, что i - это координата x, а j - координата y.