Character Cross
APL (37 35 34 27)
↑{∊2↑¨⍵↑¨I}¨↓(+∨⌽)∘.=⍨⍳⍴I←⍞
It takes input from the keyboard, like so:
↑{∊2↑¨⍵↑¨I}¨↓(+∨⌽)∘.=⍨⍳⍴I←⍞
CODE-GOLF
C F
O L
D O
E G
-
E G
D O
O L
C F
Python 2 - 94 90 89 88
s=input()
L=len(s)
R=range(L)
for i in R:print" ".join([s[j]," "][j!=i!=L+~j]for j in R)
Input:
"CODE-GOLF"
Output:
C F
O L
D O
E G
-
E G
D O
O L
C F
Pyth, 22
Vzjdm?@zd}N,dt-lzd\ Uz
Test:
$ pyth -c 'Vzjdm?@zd}N,dt-lzd\ Uz' <<< "CODE-GOLF"
C F
O L
D O
E G
-
E G
D O
O L
C F
Explanation:
(Implicit) z = input()
(Implicit) d = ' '
Vz for N in range(len(z)):
jd print(d.join(
m map(lambda d:
?@zd z[d] if
}N N in
,dt-lzd (d,len(z)-d-1) else
\ " ",
Uz range(len(z)))))