【C言語】数値が4の倍数かどうか判定する方法

この記事では、C言語を使って数値が4の倍数かどうかを判定する方法について学びます。

まず、4の倍数とは何かを理解し、次にC言語の基本的な構文を使って判定する方法を紹介します。

さらに、複数の数値や配列を使った応用例も解説します。

目次から探す

基本的な考え方

数値が4の倍数かどうかを判定するためには、まず「4の倍数」とは何かを理解する必要があります。

また、C言語で数値の倍数を判定するために便利な「剰余演算子(%)」についても知っておく必要があります。

4の倍数とは

4の倍数とは、ある数値が4で割り切れる数のことを指します。

具体的には、数値を4で割ったときに余りが0になる数が4の倍数です。

例えば、8や12、16などは4の倍数です。

これらの数値を4で割ると、余りが0になります。

以下に具体例を示します:

  • 8 ÷ 4 = 2 余り 0
  • 12 ÷ 4 = 3 余り 0
  • 16 ÷ 4 = 4 余り 0

このように、余りが0になる数が4の倍数です。

剰余演算子(%)の利用

C言語では、数値を割り算したときの余りを求めるために「剰余演算子(%)」を使用します。

剰余演算子は、2つの数値を割り算したときの余りを返します。

例えば、a % bという式は、abで割ったときの余りを返します。

具体的な例を見てみましょう:

  • 8 % 4 は 0 を返します(8は4で割り切れるため、余りは0)
  • 10 % 4 は 2 を返します(10を4で割ると、2余る)
  • 15 % 4 は 3 を返します(15を4で割ると、3余る)

このように、剰余演算子を使うことで、数値が4の倍数かどうかを簡単に判定することができます。

具体的には、数値nが4の倍数であるかどうかを判定するためには、n % 4 == 0という条件をチェックすれば良いのです。

次のセクションでは、実際にC言語でこの判定を行う方法について詳しく解説します。

C言語での実装方法

if文を使った判定

C言語で数値が4の倍数かどうかを判定するためには、if文と剰余演算子(%)を使います。

剰余演算子は、ある数値を別の数値で割ったときの余りを返します。

4の倍数であれば、その数値を4で割った余りは0になります。

以下に、if文を使った基本的な判定方法のサンプルコードを示します。

#include <stdio.h>
int main() {
    int num;
    // ユーザーから数値を入力してもらう
    printf("数値を入力してください: ");
    scanf("%d", &num);
    // 4の倍数かどうかを判定
    if (num % 4 == 0) {
        printf("%d は4の倍数です。\n", num);
    } else {
        printf("%d は4の倍数ではありません。\n", num);
    }
    return 0;
}

このプログラムでは、ユーザーから入力された数値が4の倍数かどうかを判定し、結果を表示します。

例えば、ユーザーが16を入力した場合、出力は「16 は4の倍数です。」となります。

一方、ユーザーが15を入力した場合、出力は「15 は4の倍数ではありません。」となります。

関数を使った判定

if文を使った判定を関数化することで、コードの再利用性を高めることができます。

関数を使うことで、同じ判定を複数の場所で簡単に行うことができます。

以下に、関数を使った判定方法のサンプルコードを示します。

#include <stdio.h>
// 4の倍数かどうかを判定する関数
int isMultipleOfFour(int num) {
    return num % 4 == 0;
}
int main() {
    int num;
    // ユーザーから数値を入力してもらう
    printf("数値を入力してください: ");
    scanf("%d", &num);
    // 関数を使って4の倍数かどうかを判定
    if (isMultipleOfFour(num)) {
        printf("%d は4の倍数です。\n", num);
    } else {
        printf("%d は4の倍数ではありません。\n", num);
    }
    return 0;
}

このプログラムでは、isMultipleOfFourという関数を定義し、その関数を使って4の倍数かどうかを判定しています。

関数isMultipleOfFourは、引数として受け取った数値が4の倍数であれば1(真)を返し、そうでなければ0(偽)を返します。

このように関数を使うことで、判定ロジックをメインのコードから分離し、コードの可読性と再利用性を向上させることができます。

応用例

複数の数値を判定する

数値が4の倍数かどうかを判定する基本的な方法を理解したら、次に複数の数値を一度に判定する方法を学びましょう。

例えば、ユーザーから複数の数値を入力してもらい、それぞれが4の倍数かどうかを判定するプログラムを作成します。

以下は、複数の数値を判定するためのサンプルコードです。

#include <stdio.h>
int main() {
    int n, i, num;
    // 判定する数値の個数を入力
    printf("判定する数値の個数を入力してください: ");
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        printf("数値を入力してください: ");
        scanf("%d", &num);
        if (num % 4 == 0) {
            printf("%d は4の倍数です。\n", num);
        } else {
            printf("%d は4の倍数ではありません。\n", num);
        }
    }
    return 0;
}

このプログラムでは、まず判定する数値の個数をユーザーに入力してもらい、その後、各数値が4の倍数かどうかを判定して結果を表示します。

配列を使った判定

次に、配列を使って複数の数値を一度に判定する方法を学びます。

配列を使うことで、コードがより効率的で読みやすくなります。

配列の定義と初期化

まず、配列の定義と初期化について説明します。

配列は同じ型のデータをまとめて扱うためのデータ構造です。

以下は、整数型の配列を定義し、初期化する例です。

#include <stdio.h>
int main() {
    int numbers[5] = {12, 16, 20, 25, 30}; // 配列の定義と初期化
    for (int i = 0; i < 5; i++) {
        printf("numbers[%d] = %d\n", i, numbers[i]);
    }
    return 0;
}

このプログラムでは、5つの整数を持つ配列 numbers を定義し、初期化しています。

for ループを使って配列の各要素を表示しています。

配列を使ったループ処理

次に、配列を使って数値が4の倍数かどうかを判定する方法を見てみましょう。

以下のサンプルコードでは、配列の各要素が4の倍数かどうかを判定し、その結果を表示します。

#include <stdio.h>
int main() {
    int numbers[5] = {12, 16, 20, 25, 30}; // 配列の定義と初期化
    for (int i = 0; i < 5; i++) {
        if (numbers[i] % 4 == 0) {
            printf("numbers[%d] = %d は4の倍数です。\n", i, numbers[i]);
        } else {
            printf("numbers[%d] = %d は4の倍数ではありません。\n", i, numbers[i]);
        }
    }
    return 0;
}

このプログラムでは、配列 numbers の各要素が4の倍数かどうかを判定し、その結果を表示しています。

for ループを使って配列の各要素にアクセスし、if文を使って判定を行っています。

以上で、数値が4の倍数かどうかを判定する基本的な方法から、複数の数値や配列を使った応用例までを解説しました。

これらの方法を組み合わせることで、より複雑なプログラムを作成することができます。

ぜひ、実際にコードを書いて試してみてください。

目次から探す