#include <stdio.h>
#include <string.h>
#include <ctype.h>
int isPalindrome(char *str) {
int left = 0;
int right = strlen(str) - 1;
while (left < right) {
while (!isalnum(str[left]) && left < right) {
left++;
}
while (!isalnum(str[right]) && left < right) {
right--;
}
if (tolower(str[left]) != tolower(str[right])) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
if (isPalindrome(str)) {
printf("The string is a palindrome.\n");
} else {
printf("The string is not a palindrome.\n");
}
return 0;
}
這個程序實現了一個回文檢測器,用戶可以輸入一個字符串,程序將檢測這個字符串是否為回文。程序會忽略字符串中的非字母字符,并且不區分大小寫。如果字符串是回文,則程序會輸出"The string is a palindrome.“,否則輸出"The string is not a palindrome.”。