「2つのデータを比較する関数」
というものをユーザに定義させ、その関数へのポインタを引数として渡します。 詳しくは man qsort で解説が出ますが、わかりにくいと思うので各自で参考 書をしらべてみてください。
データの数を増やすとプログラムのあちこちに変更が及ぶので面倒である。 データの数を定数 NUM_DATA として宣言するように直せ。
注意: HPUX 標準の C では ANSI-C 準拠のプログラムは
cc -Aa qsort_sample.c -o qsort_sampleのように -Aa オプションをつけてコンパイルする。また、GNU C という別の コンパイラもインストールされているので、こちらを使いたい場合は
gcc qsort_sample.c -o qsort_sampleのように入力する。
typedef struct { char *name; float score; } DATA ;のような構造体の配列に値を代入し、score の小さい順に表示するプログラム を作れ。