プログラミング

【大学の課題で出るC言語】配列を使って最高点・最低点・平均点を求める

配列を使って最高点・最低点・平均点を導き出す

どうも多浪Fランぼっち底辺大学生です。

今回は【配列を用いて最高点・最低点・平均点を求める】プログラムを作成していきます。

 

入力した点数の中から最高点や最低点、平均点までを求めるプログラムを作りたいんだけど、いまいち分かんねぇなぁ。
教えたるで♡

配列や関数について基礎知識が不足している人は、理解以前の問題があります。
以下のリンクから自分に合った参考書を購入して学習を進めてみてはどうでしょうか?

プログラミングの参考書
【大学生の課題で出るC言語】持っておくべきおすすめの参考書どうも多浪Fランぼっち底辺大学生です。 今回はC言語プログラミングを履修している大学生におすすめの参考書の紹介をします。 ...

仕様

想定する仕様としては以下とします。

  • 任意の人数を入力
  • 人数分の点数を入力(0~100の間とする)
  • 最高点と最低点と平均点の3つを求め出力する

そして、同じような処理を一まとめにした関数を作成をします。

点数を配列に格納する処理
void get_point(int array , int num);

点数の値が0~100でない場合
void erro_message(int point);

最高点を求める処理
int get_max(int array[] , int num);

最低点を求める処理
int get_min(int array[] , int num);

平均点を求める処理
double get_ave(int array[] , int num);

 

まぁ、「良く分からんwww」と思っている人も居ると思います。だから、なるべく詳しく説明を施していこうと思っています。

じゃけん(邪剣)見て逝きましょうね。

取り合えずソースコード全体から見せてイクッ!!

っと、こんな感じですね(-ω-)/

ソースコードを見て”分からない箇所”が無ければOKです。

プログラミングの参考書
【大学生の課題で出るC言語】持っておくべきおすすめの参考書どうも多浪Fランぼっち底辺大学生です。 今回はC言語プログラミングを履修している大学生におすすめの参考書の紹介をします。 ...

もし、分からないのであれば説明を綴っていくので見て下さいね。

void get_point(int array[] , int num);

これは人数分の点数を配列に格納する関数です。

点数(num)が0~100の間ならば配列に格納し、そうでないならばerro_message関数を実行しエラー文を表示して、再度値の読み込みを行っていますね(‘ω’)ノ

whileとdo whileの違い

whileとdo whileはどちらも繰り返し(ループ)処理に違いはありません。

しかし、別のところで違いがあるんですよね。

while
一周目から条件に当てはまるかどうかを判定して実行する

do while
一周目は条件を無視して実行する

こんな違いがあるんだな

 

ここでは、point変数に値が入っていない初期化の状態で条件判定を行ってしまうとエラーが起きてしまいます。なのでdo whileとするのです。



void error_message(int point);

get_point関数内で入力した値(point変数に格納した値)が0~100に収まっていない場合、error_message関数を呼び出しメッセージを表示します。

error_message関数の中でpointに格納された値が0未満の時は「~~は0未満です」として、100より大きい時は「~~は100を超えています」と表示しています。

int get_max(int array[] , int num);

配列arrayに格納された値同士を大小比較します。

まず、仮の最高点max変数にarray[0]を格納しておきます。そしてソースコードの様に比較していき、maxの値を更新していきます。

以下(↓)の様な感じで最大値を判別していきます

ex) array[5]={6,3,9,10,1}とすると

max=6 //仮の最高点

× max<3 — max=6
〇 max<9 — max=9
〇 max<10 — max=10
× max<1 — max=10

array[5]の中の最高点は10だと判る

int get_min(int array[] , int num);

get_min関数もget_max関数と同様に仮の最低点を設定し大小比較を行います。

double get_ave(int array[] , int num);

sum変数にarrayに格納された値を加算していきます。そして、それを人数で割って平均値を求めだしています。

(double)sum/numとは

sumの前に(double)が付いています。これを”キャスト”と言います。

キャストを使うことで変数の型を変換することが出来ます。

ここでは、sumはint型ですがキャストを用いてdouble型に変換することで、平均点を小数点を含む値まで求めることが出来るんですね(‘ω’)ノ

おわり

以上が【配列を使って最高点・最低点・平均点を求める】プログラムの説明でした。

今後もこのような知識が役に立ってくるはずなので、しっかりと身に付けましょう。

人気ブログランキング
関連記事