とりあえず>>655に関しては、
> ヒント 文字変数 c は、 c - 'a' を計算すれば、要素の番号になる。
ていうやり方を初めて見たけれども
これは良く使うテクニックなのかどうか
こちらの環境(win XP, bcc5.1.1)ではきちんと動くけれどもlinuxのgccでも大丈夫なのか、
そこまで追及するならcのヘッダファイルを全て解析できるくらいのスキルが必要ではなかろうか、
もっというなら、機械語とアセンブリについても相応の知識が必要なんじゃないか、
……とか、比較的低水準な事を想定して作られたc言語はいろいろと難しいと思う。

結論 : 「c - 'a' を計算すれば、要素の番号になる」という実装はとてもいかがわしい。