首頁 >後端開發 >C++ >C程式印出'偶數”或'奇數”,不使用條件語句

C程式印出'偶數”或'奇數”,不使用條件語句

王林
王林轉載
2023-09-15 21:21:03581瀏覽

C程式印出偶數”或奇數”,不使用條件語句

在本節中,我們將看到如何在不使用任何條件語句(如,>=,==)的情況下檢查一個數是奇數還是偶數。

我們可以透過使用條件語句輕鬆地檢查奇數還是偶數。我們可以將數字除以2,然後檢查餘數是否為0。如果為0,則是偶數。否則,我們可以將數字與1進行AND運算。如果答案為0,則是偶數,否則為奇數。

這裡不能使用條件語句。我們將看到兩種不同的方法來檢查奇數還是偶數。

方法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
}

Output 1

的中文翻譯為:

輸出1

Enter a number: 40
The number is: Even

輸出2

Enter a number: 89
The number is: Odd

方法2

這是第二種方法。在這種方法中,我們將使用一些技巧。這裡使用了邏輯和位元運算子。首先,我們對數字和1進行AND操作。然後使用邏輯和來列印奇數或偶數。當位元與的結果為1時,邏輯AND運算將傳回奇數結果,否則將傳回偶數。

範例程式碼

#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.
}

Output 1

的中文翻譯為:

輸出 1

Enter a number: 40
even

輸出 2

Enter a number: 89
odd

以上是C程式印出'偶數”或'奇數”,不使用條件語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除