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

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

この処理はプログラミング初心者でも理解しやすく、基本的なアルゴリズムを使って実装することができます。C言語の基礎を学んだ後、この記事を参考にして、自分でプログラムを作成してみましょう。

目次

大きい順に並び替えるためのアルゴリズム

大きい順に並び替えるためのアルゴリズムは以下の通りです。

1. 入力された3つの整数を比較する

まず、入力された3つの整数を比較します。これによって、最大値と最小値が分かります。

2. 最大値を決定する

次に、最大値を決定します。先程求めた最大値と残りの2つの整数で比較し、その中で最も大きい数を求めます。

3. 残りの2つの整数で最大値を求める

次に、残りの2つの整数で最大値を求めます。先程求めた最大値とは異なる方の数と、残った1つの数で比較し、その中で最も大きい数を求めます。

4. 最小値と残った1つの整数で最大値を求める

最後に、先程求めた最小値と残った1つの整数で比較し、その中で最も大きい数を求めます。これによって、3つの整数が大きい順に並び替えられます。

以上がC言語で3つの整数を大きい順に並び替えるアルゴリズムです。

C言語で実装する方法

C言語で3つの整数を大きい順に並び替える方法は、以下の手順で実装することができます。

整数型変数を用意する

まず、3つの整数を格納するために、int型の変数を3つ用意します。例えば、以下のように記述します。

int num1, num2, num3;

scanf関数で入力された数字を変数に代入する

次に、scanf関数を使ってユーザーから3つの整数を入力して、それぞれの変数に代入します。例えば、以下のように記述します。

printf("1つ目の数字を入力してください: ");
scanf("%d", &num1);

printf("2つ目の数字を入力してください: ");
scanf("%d", &num2);

printf("3つ目の数字を入力してください: ");
scanf("%d", &num3);

アルゴリズム通りに処理し、結果を出力する

次に、アルゴリズム通りに処理し、結果を出力します。具体的なアルゴリズムは以下の通りです。

  1. 入力された3つの整数を比較する。
  2. 最大値を決定する。
  3. 残りの2つの整数で最大値を求める。
  4. 最小値と残った1つの整数で最大値を求める。

このアルゴリズム通りに処理したコードは以下のようになります。

if (num1 > num2) {
	if (num1 > num3) {
		if (num2 > num3) {
			printf("\n%d > %d > %d\n", num1, num2, num3);
		}
		else {
			printf("\n%d > %d > %d\n", num1, num3, num2);
		}
	}
	else {
		printf("\n%d > %d > %d\n", num3, num1, num2);
	}
}
else {
	if (num2 > num3) {
		if (num1 > num3) {
			printf("\n%d > %d > %d\n", num2, num1, num3);
		}
		else {
			printf("\n%d > %d > %d\n", num2, num3, num1);
		}
	}
	else {
		printf("\n%d > %d > %d\n", num3,
			num2,
			num1);
	}
}

完成したサンプルコード

以上がC言語で実装した「3つの整数を大きい順に並び替える方法」です。完成したサンプルコードは以下となります。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {

	int num1;
	int num2;
	int num3;

	printf("1番目:");
	scanf("%d", &num1);

	printf("2番目:");
	scanf("%d", &num2);

	printf("3番目:");
	scanf("%d", &num3);

	if (num1 > num2) {
		if (num1 > num3) {
			if (num2 > num3) {
				printf("\n%d > %d > %d\n", num1, num2, num3);
			}
			else {
				printf("\n%d > %d > %d\n", num1, num3, num2);
			}
		}
		else {
			printf("\n%d > %d > %d\n", num3, num1, num2);
		}
	}
	else {
		if (num2 > num3) {
			if (num1 > num3) {
				printf("\n%d > %d > %d\n", num2, num1, num3);
			}
			else {
				printf("\n%d > %d > %d\n", num2, num3, num1);
			}
		}
		else {
			printf("\n%d > %d > %d\n", num3,
				num2,
				num1);
		}
	}

	return 0;
}

まとめ

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

まず、アルゴリズムとしては、入力された3つの整数を比較して最大値を決定し、残りの2つの整数で最大値を求め、最小値と残った1つの整数で最大値を求めるという手順です。

次に、C言語で実装する方法としては、整数型変数を用意し、scanf関数で入力された数字を変数に代入し、アルゴリズム通りに処理して結果を出力することが必要です。

以上がC言語で3つの整数を大きい順に並び替える方法です。このアルゴリズムや実装方法はプログラミング初心者でも理解しやすく、応用範囲も広いため覚えておくと役立ちます。

目次