ในส่วนนี้เราจะมาดูวิธีการตรวจสอบว่าตัวเลขเป็นเลขคี่หรือคู่โดยไม่ต้องใช้ประโยคเงื่อนไขใดๆ เช่น (<, <=, !=,>,>=, ==)
เราตรวจสอบเลขคี่หรือคู่ได้ง่ายๆ โดยใช้คำสั่งแบบมีเงื่อนไข เราสามารถหารจำนวนด้วย 2 แล้วตรวจสอบว่าส่วนที่เหลือเป็น 0 หรือไม่ ถ้า 0 แสดงว่าเป็นคู่ มิฉะนั้น เราสามารถดำเนินการ AND ด้วยตัวเลขและ 1 หากคำตอบคือ 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 }
ผลลัพธ์ 1
Enter a number: 40 The number is: Even
ผลลัพธ์ 2
Enter a number: 89 The number is: Odd
วิธีที่ 2
นี่เป็นวิธีที่สอง ในวิธีนี้เราจะใช้ลูกเล่นบางอย่าง ที่นี่มีการใช้ตัวดำเนินการเชิงตรรกะและระดับบิต ตอนแรกเรากำลังดำเนินการ AND ด้วยตัวเลขและ 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. }
ผลลัพธ์ 1
Enter a number: 40 even
ผลลัพธ์ 2
Enter a number: 89 odd