#include#include #include 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.”。