959 :
デフォルトの名無しさん:
問題が長いので分けて書きます
[1] 授業単元:線形リスト
[2] 問題文(含コード&リンク):
以下のリスト1に示すlseiseki.c は、リスト2に示すような成績に関するデータを
読み込み、リスト3に示すような成績表を出力するプログラムである。この表を見
て以下の問いに答えよ。
課題1 lseiseki.cを修正し、合計点が高い順に生徒の成績が表示されるようにしなさい。
ただし、出力の部分を修正せずに、新しいデータを読み込んだら新規セルを線形
リストのしかるべき位置に挿入するようなコーディングとすること。
( lseiseki1.c )
ヒント プログラムの44行目から51行目を書き換えることになります。
合計点の高い順ですから、新規セルを線形リストの途中に挿入しなければ
なりません。新規セルの合計点、既存のセルの合計点を比較しなければ
ならないので、sumx という名の int 型変数を新たに宣言し、
43行目のしたに
sumx = x->score[0] + x->score[1] + x->score[2] + x->score[3] + x->score[4] ;
と追加したり、変数sum を利用して合計点を比較しやすくするのが良いでしょう。