ゴメン。
#include <stdio.h>
#include <string.h>

void test(int n, char *s) {
int size = strlen(s);
int sp_size = size <= 1 ? 0 : (n - size) / (size - 1);
int side_sp = (n - sp_size * (size - 1) - size) / 2;
int i;

printf("%d:", n);
if (n < size) { puts("$"); return; }
for (i = 0; i < side_sp; i++) putchar(' ');
for (; *(s+1); s++) {
putchar(*s);
for (i = 0; i < sp_size; i++) putchar(' ');
}
putchar(*s);
for (i = 0; i < side_sp; i++) putchar(' ');
puts("$");
}

int main(int argc, char *argv[]) {
int i;
char s[] = "ABCDEF";

for (i = 0; i < 12; i++)
test(i, s);
return 0;
}