无需条件语句判断奇偶数的C语言程序
在本节中,我们将学习如何在不使用任何条件语句(如 <、<=、!=、>、>=、==)的情况下检查一个数字是奇数还是偶数。
我们可以很容易地使用条件语句来检查奇偶数。我们可以将数字除以2,然后检查余数是否为0。如果为0,则为偶数;否则,我们可以对数字执行与1的AND运算。如果结果为0,则为偶数,否则为奇数。
这里不能使用任何条件语句。我们将看到两种不同的方法来检查奇偶数。
方法一
在这里,我们将创建一个字符串数组。索引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
Enter a number: 40 The number is: Even
输出2
Enter a number: 89 The number is: Odd
方法二
这是第二种方法。在这种方法中,我们将使用一些技巧。这里使用了逻辑和位运算符。首先,我们对数字和1进行AND运算。然后使用逻辑与来打印奇数或偶数。当位运算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. }
输出1
Enter a number: 40 even
输出2
Enter a number: 89 odd
广告