【C言語】数値が自然数か判定する方法を解説

この記事では、C言語を使って数値が自然数かどうかを判定する方法を解説します。

目次から探す

自然数の判定方法

プログラミングにおいて、数値が自然数であるかどうかを判定する方法はいくつかあります。

以下の3つの方法を紹介します。

if文を使った判定方法

まず、if文を使った自然数の判定方法です。

if文は条件式が真の場合に実行されるブロックを指定する制御構造です。

以下のサンプルコードでは、入力された数値が0より大きい場合に「自然数です」と表示します。

#include <stdio.h>
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    if (num > 0) {
        printf("自然数です\n");
    }
    return 0;
}

上記のコードでは、scanf関数を使ってユーザーから数値を入力し、if文で入力された数値が0より大きいかどうかを判定しています。

三項演算子を使った判定方法

次に、三項演算子を使った自然数の判定方法です。

三項演算子は条件式によって値を返す演算子で、if-else文を短く書くことができます。

以下のサンプルコードでは、入力された数値が0より大きい場合に「自然数です」と表示します。

#include <stdio.h>
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    printf(num > 0 ? "自然数です\n" : "");
    return 0;
}

上記のコードでは、三項演算子を使って入力された数値が0より大きいかどうかを判定し、結果に応じて適切なメッセージを表示しています。

関数を使った判定方法

最後に、関数を使った自然数の判定方法です。

関数を使うことで、同じ判定処理を複数回呼び出すことができます。

以下のサンプルコードでは、isNaturalNumberという関数を定義し、入力された数値が自然数であるかどうかを判定しています。

#include <stdio.h>
int isNaturalNumber(int num) {
    if (num > 0) {
        return 1;
    } else {
        return 0;
    }
}
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    if (isNaturalNumber(num)) {
        printf("自然数です\n");
    }
    return 0;
}

上記のコードでは、isNaturalNumber関数を定義し、入力された数値が0より大きい場合に1を返し、そうでない場合に0を返すようにしています。

main関数では、isNaturalNumber関数を呼び出して結果に応じてメッセージを表示しています。

以上がC言語で数値が自然数かどうかを判定する方法です。

それぞれの方法を使って自然数の判定を行うことができますので、適宜使い分けてプログラミングに活用してください。

目次から探す