【C言語】4つの数値の大小を比較するプログラムの書き方

この記事では、C言語を使用して4つの数値の大小を比較する方法を解説します。

最大値、最小値、2番目に大きい値、2番目に小さい値を求めるアルゴリズムと、それを実装するためのプログラムの書き方をわかりやすく説明します。

初心者の方でも理解しやすいように、具体的なサンプルコードも紹介します。

目次から探す

数値の比較方法

4つの数値を比較するためには、以下のアルゴリズムを使用します。

最大値の比較

4つの数値の中で最大値を求めるには、まず最初の数値を仮の最大値として設定します。

その後、残りの数値と比較し、より大きい数値があれば最大値を更新します。

これを全ての数値に対して繰り返し行い、最終的に最大値を求めることができます。

最小値の比較

4つの数値の中で最小値を求めるには、最大値の比較と同様の手順を使用します。

まず最初の数値を仮の最小値として設定し、残りの数値と比較してより小さい数値があれば最小値を更新します。

これを全ての数値に対して繰り返し行い、最終的に最小値を求めることができます。

2番目に大きい値の比較

4つの数値の中で2番目に大きい値を求めるには、最大値の比較と最小値の比較を組み合わせます。

まず最大値と最小値を求め、それぞれの数値と比較して最大値より小さく、最小値より大きい数値を2番目に大きい値とします。

2番目に小さい値の比較

4つの数値の中で2番目に小さい値を求めるには、2番目に大きい値の比較と同様の手順を使用します。

最大値と最小値を求め、それぞれの数値と比較して最大値より小さく、最小値より大きい数値を2番目に小さい値とします。

以上が、4つの数値の大小を比較するためのアルゴリズムの説明です。

次に、これらのアルゴリズムをC言語で実装する方法について説明します。

プログラムの実装

4つの数値の大小を比較するプログラムを実装する方法を説明します。

まず、4つの数値を入力するための変数を用意します。

例えば、num1num2num3num4という変数を使用します。

int num1, num2, num3, num4;

次に、ユーザーから数値を入力してもらいます。

C言語では、scanf関数を使用してユーザーからの入力を受け取ることができます。

printf("1つ目の数値を入力してください: ");
scanf("%d", &num1);
printf("2つ目の数値を入力してください: ");
scanf("%d", &num2);
printf("3つ目の数値を入力してください: ");
scanf("%d", &num3);
printf("4つ目の数値を入力してください: ");
scanf("%d", &num4);

次に、4つの数値の比較を行います。

最大値、最小値、2番目に大きい値、2番目に小さい値を求めるために、いくつかの変数を用意します。

int max, min, secondMax, secondMin;

最大値を求めるために、まずnum1maxに代入します。

max = num1;

その後、num2からnum4までの数値と比較し、より大きい数値があればmaxに代入します。

if (num2 > max) {
    max = num2;
}
if (num3 > max) {
    max = num3;
}
if (num4 > max) {
    max = num4;
}

同様に、最小値を求めるために、まずnum1minに代入します。

min = num1;

その後、num2からnum4までの数値と比較し、より小さい数値があればminに代入します。

if (num2 < min) {
    min = num2;
}
if (num3 < min) {
    min = num3;
}
if (num4 < min) {
    min = num4;
}

2番目に大きい値を求めるために、まずnum1secondMaxに代入します。

secondMax = num1;

その後、num2からnum4までの数値と比較し、最大値でなく、かつより大きい数値があればsecondMaxに代入します。

if (num2 > secondMax && num2 < max) {
    secondMax = num2;
}
if (num3 > secondMax && num3 < max) {
    secondMax = num3;
}
if (num4 > secondMax && num4 < max) {
    secondMax = num4;
}

2番目に小さい値を求めるために、まずnum1secondMinに代入します。

secondMin = num1;

その後、num2からnum4までの数値と比較し、最小値でなく、かつより小さい数値があればsecondMinに代入します。

if (num2 < secondMin && num2 > min) {
    secondMin = num2;
}
if (num3 < secondMin && num3 > min) {
    secondMin = num3;
}
if (num4 < secondMin && num4 > min) {
    secondMin = num4;
}

最後に、求めた最大値、最小値、2番目に大きい値、2番目に小さい値を出力します。

printf("最大値: %d\n", max);
printf("最小値: %d\n", min);
printf("2番目に大きい値: %d\n", secondMax);
printf("2番目に小さい値: %d\n", secondMin);

以上が、4つの数値の大小を比較するプログラムの実装方法です。

目次から探す