หาคำที่เป็นพาลินโดรม (อ่านจากหน้าหลังหลังหน้าได้เหมือนกัน) และยาวที่สุดในประโยคที่กำหนด
ตัวอย่าง
ประโยค: "malayalam liemadameil iji"
คำพาลินโดรม: malayalam, liemadameil, iji
คำที่ยาวที่สุด: liemadameil
โค้ดตัวอย่าง
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "malayalam liemadameil iji";
int i, k, l, j, max = 0, index = -1, count = 0;
for (i = 0; i < strlen(str); i++) {
max = 0;
k = i;
j = i + 1;
while (str[j] != ' ' && str[j] != '\0') j++;
l = j - 1;
if (str[k] != ' ' && str[k] != '\0') {
while (k <= l) {
if (str[k] == str[l]) {
max++;
if (count <= max) {
index = i;
count = max;
}
} else {
max = 0;
count = -1;
break;
}
k++; l--;
}
}
i = j;
}
for (i = index; i != -1 && str[i] != ' ' && str[i] != '\0'; i++)
printf("%c", str[i]);
return 0;
}
ผลลัพธ์
liemadameil