เลขพาลินโดรมเป็นตัวเลขที่ยังคงเดิมเมื่อกลับด้าน ในภาษา 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