【C言語】 3つの整数を大きい順に並び替える方法について解説

この記事では、C言語を使用して3つの整数を大きい順に並び替える方法を解説します。

初心者の方でもわかりやすく、具体的なプログラムの作り方や実行結果の例を通じて、並び替える手順を学ぶことができます。

目次から探す

3つの整数を大きい順に並び替えるプログラムの作り方

3つの整数を入力する

まず最初に、3つの整数を入力するためのプログラムを作成します。


#include <stdio.h>
int main() {
    int num1, num2, num3;
    printf("3つの整数を入力してください:");
    scanf("%d %d %d", &num1, &num2, &num3);
    return 0;
}

上記のコードでは、num1num2num3という3つの整数変数を宣言し、printf関数とscanf関数を使用してユーザーからの入力を受け取ります。

3つの整数を比較する

次に、入力された3つの整数を比較するためのプログラムを作成します。


#include <stdio.h>
int main() {
    int num1, num2, num3;
    printf("3つの整数を入力してください:");
    scanf("%d %d %d", &num1, &num2, &num3);
    if (num1 >= num2 && num1 >= num3) {
        // num1が最大の場合
        // num2とnum3を比較して並び替える必要がある
    } else if (num2 >= num1 && num2 >= num3) {
        // num2が最大の場合
        // num1とnum3を比較して並び替える必要がある
    } else {
        // num3が最大の場合
        // num1とnum2を比較して並び替える必要がある
    }
    return 0;
}

上記のコードでは、if文を使用して3つの整数を比較しています。

最大の整数を判定するために、>=演算子を使用しています。

3つの整数を並び替える

次に、入力された3つの整数を大きい順に並び替えるためのプログラムを作成します。


#include <stdio.h>
int main() {
    int num1, num2, num3;
    printf("3つの整数を入力してください:");
    scanf("%d %d %d", &num1, &num2, &num3);
    if (num1 >= num2 && num1 >= num3) {
        // num1が最大の場合
        if (num2 >= num3) {
            // num2がnum3よりも大きい場合
            // num1, num2, num3の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num1, num2, num3);
        } else {
            // num3がnum2よりも大きい場合
            // num1, num3, num2の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num1, num3, num2);
        }
    } else if (num2 >= num1 && num2 >= num3) {
        // num2が最大の場合
        if (num1 >= num3) {
            // num1がnum3よりも大きい場合
            // num2, num1, num3の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num2, num1, num3);
        } else {
            // num3がnum1よりも大きい場合
            // num2, num3, num1の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num2, num3, num1);
        }
    } else {
        // num3が最大の場合
        if (num1 >= num2) {
            // num1がnum2よりも大きい場合
            // num3, num1, num2の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num3, num1, num2);
        } else {
            // num2がnum1よりも大きい場合
            // num3, num2, num1の順に並び替える
            printf("並び替えた結果:%d %d %d\n", num3, num2, num1);
        }
    }
    return 0;
}

上記のコードでは、if文を使用して最大の整数を判定し、さらにif文を使用して2番目に大きい整数を判定しています。

それに応じて、printf関数を使用して並び替えた結果を出力しています。

並び替えた結果を出力する

最後に、並び替えた結果を出力するためのプログラムを作成します。

先ほどのコードに既に含まれていますが、改めて以下に示します。


printf("並び替えた結果:%d %d %d\n", num1, num2, num3);

上記のコードでは、printf関数を使用して並び替えた結果を出力しています。

%dは整数を表示するためのフォーマット指定子です。

以上で、3つの整数を大きい順に並び替えるプログラムの作り方が完了しました。

1 2
目次から探す