ホームページ >バックエンド開発 >C++ >条件文を使用せずに「偶数」または「奇数」を出力する C プログラム

条件文を使用せずに「偶数」または「奇数」を出力する C プログラム

王林
王林転載
2023-09-15 21:21:03565ブラウズ

条件文を使用せずに「偶数」または「奇数」を出力する C プログラム

このセクションでは、条件ステートメント (、>=、= など) を使用せずに条件ステートメントを使用する方法を説明します。 =) 数値が奇数か偶数かをチェックする場合。

条件文を使用すると、数値が奇数か偶数かを簡単に確認できます。数値を 2 で割って、余りが 0 かどうかを確認できます。 0の場合は偶数です。それ以外の場合は、数値と 1 の AND 演算を行うことができます。答えが 0 の場合は偶数、そうでない場合は奇数です。

ここでは条件文は使用できません。奇数が存在するか偶数が存在するかを確認する 2 つの異なる方法を見ていきます。

方法 1

ここでは、文字列の配列を作成します。インデックス 0 の位置は「偶数」を保持し、インデックス 1 の位置は「奇数」を保持します。数値を 2 で割った余りをインデックスとして取得することで、結果を直接取得できます。

サンプル コード

#include<stdio.h>
main() {
   int n;
   char* arr[2] = {"Even", "Odd"};
   printf("Enter a number: "); //take the number from the user
   scanf("%d", &n);
   printf("The number is: %s", arr[n%2]); //get the remainder to choose
   the string
}

出力 1

の中国語訳:

出力 1

Enter a number: 40
The number is: Even

出力 2

Enter a number: 89
The number is: Odd

メソッド 2

これは 2 番目の方法です。この方法では、いくつかのトリックを使用します。ここでは論理演算子とビット演算子が使用されます。まず、数値と 1 の AND を計算します。次に、論理和を使用して奇数または偶数を出力します。論理 AND 演算は、ビット単位の AND の結果が 1 の場合は奇数の結果を返し、それ以外の場合は偶数を返します。

サンプル コード

#include<stdio.h>
main() {
   int n;
   char *arr[2] = {"Even", "Odd"};
   printf("Enter a number: "); //take the number from the user
   scanf("%d", &n);
   (n & 1 && printf("odd"))|| printf("even"); //n & 1 will be 1 when 1
   is present at LSb, so it is odd.
}

出力 1

の中国語訳:

出力 1

Enter a number: 40
even

出力 2

Enter a number: 89
odd

以上が条件文を使用せずに「偶数」または「奇数」を出力する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。