เลขพาลินโดรมเป็นตัวเลขที่ยังคงเดิมเมื่อกลับด้าน ในภาษา C ผู้ใช้สามารถป้อนจำนวนเต็มบวกและตรวจสอบว่าตัวเลขที่กำหนดเป็นตัวเลขพาลินโดรมหรือไม่โดยใช้ลูป while
ตัวอย่าง1
ต่อไปนี้เป็นโปรแกรม C เพื่อค้นหาหมายเลข Palindrome โดยใช้ while loop -
#include <stdio.h> int main(){ int num, temp, rem, rev = 0; printf("enter a number:\n"); scanf("%d", &num); temp = num; while ( temp > 0){ rem = temp %10; rev = rev *10+ rem; temp = temp /10; } printf("reversed number is = %d\n", rev); if ( num == rev ) printf("\n%d is Palindrome Number.\n", num); else printf("%d is not the Palindrome Number.\n", num); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
enter a number: 1234 reversed number is = 4321 1234 is not the Palindrome Number. enter a number: 1221 reversed number is = 1221 1221 is Palindrome Number.
ตัวอย่าง2
ลองพิจารณาอีกตัวอย่างหนึ่งสำหรับโปรแกรม C เพื่อค้นหาหมายเลขพาลินโดรมโดยใช้ while loop สำหรับสตริง
#include <stdio.h> #include <string.h> void pal(char string[]); int main(){ char string[100]; printf("enter a string: "); gets(string); pal(string); return 0; } void pal(char string[]){ int i = 0; int length = strlen(string) - 1; while (length > i){ if(string[i++] != string[length--]){ printf("\n %s is not a palindrome", string); return; } } printf("\n %s is a palindrome string", string); }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
enter a string: tutorial tutorial is not a palindrome enter a string: saas saas is a palindrome string