Palindrome number คือเลขที่อ่านจากหน้าหรือหลังได้เหมือนกัน (เช่น 121, 1221) โปรแกรมตรวจสอบโดยใช้ while loop
ตัวอย่างที่ 1: ตรวจสอบเลข Palindrome (ตัวเลข)
#include <stdio.h>
int main() {
int num, temp, rem, rev = 0;
printf("Enter a number: ");
scanf("%d", &num);
temp = num;
while (temp > 0) {
rem = temp % 10;
rev = rev * 10 + rem;
temp = temp / 10;
}
printf("Reversed number = %d\n", rev);
if (num == rev)
printf("%d is Palindrome Number.\n", num);
else
printf("%d is not 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: ตรวจสอบ Palindrome สตริง
#include <stdio.h>
#include <string.h>
void checkPalindrome(char str[]) {
int i = 0;
int len = strlen(str) - 1;
while (len > i) {
if (str[i++] != str[len--]) {
printf("%s is not a palindrome\n", str);
return;
}
}
printf("%s is a palindrome string\n", str);
}
int main() {
char string[100];
printf("Enter a string: ");
fgets(string, sizeof(string), stdin);
string[strcspn(string, "\n")] = 0; // ลบ newline
checkPalindrome(string);
return 0;
}
ผลลัพธ์
enter a string: tutorial tutorial is not a palindrome enter a string: saas saas is a palindrome string