練習 4(提出プログラム名:p0904.h)
※p0904.c ではなく p0904.h を提出なので注意!
まず,このプログラム(p0904.c)とヘッダ(p0904.h)をそれぞれダウンロードしなさい.
そして,p0904.h(p0904.c ではない)を次の指示に従って編集し,以下の実行例のように実行できるようにしなさい.
(書き換えるのは p0904.h のみで,p0904.c はコンパイルと実行に使うだけなので間違えないこと)
この問題では,SIZE 個の整数を読み込んでいったんすべて配列へ格納しておき,その中の最小値,最大値,及び平均値をそれぞれ関数で求めている(SIZE はマクロとして定義されている).
【編集すべき内容:次の 2 つの関数を p0904.h の中に追加しなさい】
① 関数 get_min:引数で与えられた配列(長さは SIZE)内の整数の最小値を返す.
関数は int get_min( int a[] ) … として作成せよ.
② 関数 get_average:引数で与えられた配列(長さは SIZE)内の整数の平均値(double型)を返す.
関数は double get_average( int a[] ) … として作成せよ.
ただし,この関数の中で double 型の変数を使ってはいけません(キャストは使ってよい).
(ヒント)return に指定する戻り値を「 (double)合計値/SIZE 」というかたちで書けばよい.
【注意】
この問題では p0904.h を提出しなさい(p0904.c ではない).
また,マクロの定義部分以外に 100 と直接書いてはいけません.
実際に 100 個の整数を入力するのは大変なので,以下のデータファイルをダウンロードし,リダイレクトによって入力させてください(以下の実行例を参考).
● data09-4-1.txt
● data09-4-2.txt
● data09-4-3.txt
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容(data09-4-1.txt を使用)※Mac の人は a ではなく ./a.out
a < data09-4-1.txt 100 個の整数を入力してください:⏎ 入力された値の範囲: -22 以上 118 以下⏎ 入力された値の平均値 = 44.44⏎
- 【プログラムの実行例】(その2,その3)
data09-4-2.txt … -24 以上 115 以下, 平均値は 48.84
data09-4-3.txt … -24 以上 112 以下, 平均値は 42.93
【過去にあったミス(減点となり,やり直しを命じられる)】
■ 誤って p0904.c を提出してしまっている.
(こちらは何も書き換えないので提出しても意味が無い)
■ 3 種類の実行例を確認せずに提出してしまっている.
■ マクロ SIZE の定義部分以外に 直接 100 と書いてしまっている.
■ 平均値の算出の際に double 型へのキャストを忘れている.
■ 平均値を求める前段階として合計値を求める必要があるが,合計に使う変数を 0 で初期化していない.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習3 (p0903.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習5 (p0905.h) ]