首先,需要编写一个函数来判断一个字符串是否是回文字符串。代码如下:
bool isPalindrome(string str){ int len = str.length(); for(int i=0; i<=len/2; i++){ if(str[i] != str[len-i-1]){ return false; } } return true; }
接下来,利用这个判断回文字符串的函数来实现统计回文字符串的数量和最长回文字符串的功能。代码如下:
void countAndFind(string str, int &count, string &max_palindrome){
int len = str.length();
count = 0;
max_palindrome = "";
for(int i=0; i
最后,在主函数中输入字符串,调用函数,输出结果即可。代码如下:
int main(){ string str; int count; string max_palindrome; cout << "请输入一个字符串:"; cin >> str; countAndFind(str, count, max_palindrome); cout << "回文串的数量为:" << count << endl; cout << "最长回文串为:" << max_palindrome << endl; return 0; }