[1] 授業単元:プログラミング演習I
[2] 問題文:
以下のようなアルゴリズムで配列のソートを考える。
例として以下のような配列を使う。

a[0]|a[1]|a[2]|a[3]|a[4]|
5|  9 | 6 | 3 | 4 |

整数 n を検査する配列の要素数とする。
1.n = 5 (配列の要素数) とする。
2.a[0] 〜 a[n-1] までの中で 最も大きいものを探す。この最大値を持つ添え字を m とする。
3.a[m] と a[n-1] の値を入れ替える。(もちろん m == n-1 なら入れ替える必要はない)
4.n-- を行った後 n <= 1 ならプログラム終了
5.2へもどる

以上のような動作を行う関数 void array_sort( int a[], int n ) を作成しなさい。

作成の準備としては
・配列 a[] と、調べたい要素数 len を与えた際に、配列中最大値を持つ添え字を返すような関数
int max_index( int a[], int len ) を記述する。
この関数は a[0] 〜 a[len-1] までの中から最大値を持つ添え字 (m) を返す。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:7/12まで
[5] その他の制限:構造体やポインタなどはまだ習っていません。

どなたかご教授お願いします。