【C言語課題解説】4つの整数値を入力させ、最大値を出力するプログラム

はじめに

どうも! 高杉 皆為(@MinatameT)です。

この記事で紹介するプログラムは、次の記事のプログラムと関連があります。学習意欲の高い方は、確認してみてください。

問題文

4つの正の整数値をキーボードから入力させ、最大値を出力するプログラムを作成しましょう。

ただし、0や負の値が入力されたときは、再入力させるようにしてください。

この問題について解説します。

解答例

ソースコード

#include<stdio.h>

int main(void)
{
  int n[4]; //4つの整数値(配列)
  int max; //最大値
  int e; //配列番号

  max = 1; //最初の最大値を1とする。

  for(e=0; e<4; e=e+1) //4回のループ
  {
    printf("正の整数値を入力してください。>");
    scanf("%d",&n[e]); //n[e]の入力

    if(n[e]<=0) //n[e]が0以下であれば
    {
      printf("再入力です。"); //再入力のお知らせ
      e = e - 1; //ループを1回分やり直す。
    }
    else if(n[e]>max) //n[e]がmaxより大きければ
    {
      max = n[e]; //最大値を上書きする。
    }
  }

  printf("最大値 = %d\n",max); //最大値を表示する。

  return(0);
}

「//」より右はコメント文なので、入力しなくても構いません。

maxは最初にどのような値が入っているのかわからないので、ループ(for文)の前に1を代入しておきます。

そして、入力された値とmaxの値(1回めの比較では1。)を比較し、入力された値のほうが大きければmaxに上書きします。

これを繰り返すことで、ループ(for文)を抜けた後、maxに最大値を入れた状態で、maxの値を出力することができます。

配列番号は0から始まることに注意してください。

それでは、実行結果の例を確認していきます。

実行結果

正の整数値を入力してください。>0
再入力です。正の整数値を入力してください。>7
正の整数値を入力してください。>5
正の整数値を入力してください。>1
正の整数値を入力してください。>-100
再入力です。正の整数値を入力してください。>3
最大値 = 7

0や-100が入力されると、次の行で再入力させていることがわかります。

この場合、n[0]には7、n[1]には5、n[2]には1、n[3]には3が入っていることになります。

課題の解説はここまでです。お疲れさまでした。


 

みなためじゃんけん

 

このコーナーは、私と擬似的にじゃんけんできるコーナーです。

みなためじゃんけん、じゃんけんぽん!

 

私が出したのは……





 

チョキでした! グーの勝利です!



この記事をSNSでシェアする

プログラミングカテゴリーの最新記事(5件)

最新記事(10件)

管理人のTwitter

内部リンク集