print() を以下で置き換えると、
97
64 76
25 49 66 34
05 13 11 29 04 11 18 10
のようなスタイルで画面に出力されます。
ただし N は 15 までです。
#define A(x) (N > (x) ? a[(x)] : -1)
void print(void) {
printf(" %02d\n", A(0));
printf(" %02d %02d\n", A(1), A(2));
printf(" %02d %02d %02d %02d\n", A(3), A(4), A(5), A(6));
printf("%02d %02d %02d %02d %02d %02d %02d %02d\n\n", A(7), A(8), A(9), A(10), A(11), A(12), A(13), A(14));
}