C言語プログラミング入門
総合演習2-B


下のように、国語、数学、英語の3科目の成績データ(100点満点)が12人分ある。3科目の総合点を次のように決めることにした:「3科目のうち最高点と最低点を見つけ、その2つの点の平均を総合点とする」。たとえば受験番号1の人は、最高点85、最低点50であるので、その平均点の67.5が総合点になる。

受験番号   1   2   3   4   5   6   7   8    9  10  11  12
  国語  50  83  66  78  35  59  61  72  94  58  91  34
  数学  75  63  82  23  69  87  43  56  85  86  46  73
  英語   85  63  94  52  68  91  68  66  73  49  69  58
 総合点 67.5  73.0   (以下省略)

以上を理解した上で、下に示すプログラムを作成しなさい。問題1から問題4まで順番にやっていけば、できるようになっている。

 

問題1
上の枠組みのように受験番号、国語、数学、英語、総合点を出力しなさい。受験番号、国語、数学、英語は配列の初期化の際にデータを与える。総合点は、関数 float sougou(int koku, int suu, int ei); で定義し、それを呼び出すことで計算する。

問題2
さらに、総合点の高い順に並び替えを行い、並び替えたものの受験番号と総合点だけを出力しなさい。

問題3
並び替えたものの受験番号、国語、数学、英語、総合点のすべてを出力しなさい。

問題4
さらに、国語、数学、英語それぞれの最高得点を探し、最高得点の受験番号とその得点を出力しなさい。

国語 最高得点  94  受験番号  9
数学 最高得点  87  受験番号  6
英語 最高得点  94  受験番号  3