iが0以上n未満という同じループで、
main関数ではa[i+1]に読み込んでいるのに、rank関数ではa[i]の値を参照しているので、
・不定の値a[0]を参照する
・読み込んだ値a[n]を参照しない
ため、誤動作の原因となります。
rank関数において、
・main関数と同様にa[i+1]を参照するようにする
・ループの範囲を1以上n以下にする
のどちらか1個を行うとよいでしょう。
(1個だけ行い、両方は行わないでください)
[/quote]
分かりました。アドバイスありがとうございます!