>>728 (=>>694)
バグってた。ごめんな。
習ってないところも直したけど、行数の関係で詰めちゃったから適宜改行しる

#include <stdio.h>

int max_index( int a[], int len ) {
int i, m=0 ;

for ( i=1; i<len; i++ )
if ( a[m] < a[i] ) m= i ;
return m ;
}
int array_sort( int a[], int n ) {
int i, m, work ;

for ( i=n; i>0; i-- ) {
m= max_index( a, i ) ;
if ( i-1 != m ) { work= a[m] ; a[m]= a[i-1] ; a[i-1]= work ; }
}
}
int main() {
int i, a[]= { 5, 9, 6, 3, 4 }, n=5 ; /* nはa[]の個数 */

puts( "BEFORE" ) ; for ( i=0; i<n; i++ ) printf( "a[%d]=%d\n", i, a[i] ) ;
array_sort( a, n ) ;
puts( "AFTER" ) ; for ( i=0; i<n; i++ ) printf( "a[%d]=%d\n", i, a[i] ) ;
}