Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

C โปรแกรมพิมพ์ “คู่” หรือ “คี่” โดยไม่ต้องใช้คำสั่งเงื่อนไข


ในส่วนนี้เราจะมาดูวิธีการตรวจสอบว่าตัวเลขเป็นเลขคี่หรือคู่โดยไม่ต้องใช้ประโยคเงื่อนไขใดๆ เช่น (<, <=, !=,>,>=, ==)

เราตรวจสอบเลขคี่หรือคู่ได้ง่ายๆ โดยใช้คำสั่งแบบมีเงื่อนไข เราสามารถหารจำนวนด้วย 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