#include#include // Function to check if a string is a palindrome int isPalindrome(char str[]) { int len = strlen(str); for (int i = 0; i < len/2; i++) { if (str[i] != str[len-i-1]) { return 0; } } return 1; } // Function to decode a palindrome-encoded string void decodePalindrome(char str[], char decoded[]) { int len = strlen(str); int j = 0; for (int i = 0; i < len; i += 2) { int count = str[i] - '0'; char ch = str[i+1]; for (int k = 0; k < count; k++) { decoded[j++] = ch; } } decoded[j] = '\0'; } int main() { char encoded[] = "3a2b1c2b3a"; char decoded[100]; decodePalindrome(encoded, decoded); printf("Decoded string: %s\n", decoded); if (isPalindrome(decoded)) { printf("Decoded string is a palindrome.\n"); } else { printf("Decoded string is not a palindrome.\n"); } return 0; }
这个程序首先定义了两个函数,一个用于检查一个字符串是否为回文,另一个用于解码回文编码的字符串。主函数中定义了一个回文编码字符串,并调用解码函数对其进行解码,然后调用回文检查函数判断解码后的字符串是否为回文。