c++调用子函数判断某字符串是否为回文串,若不是,再调用另一子函数将其反转过来。结果均由主函数输出
时间: 2024-02-09 19:09:48 浏览: 75
好的,下面是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
int i = 0, j = s.length() - 1;
while (i < j) {
if (s[i] != s[j]) {
return false;
}
i++;
j--;
}
return true;
}
string reverseString(string s) {
string result = s;
int i = 0, j = s.length() - 1;
while (i < j) {
char temp = result[i];
result[i] = result[j];
result[j] = temp;
i++;
j--;
}
return result;
}
int main() {
string s;
cout << "请输入一个字符串:";
cin >> s;
if (isPalindrome(s)) {
cout << s << " 是回文串" << endl;
} else {
cout << s << " 不是回文串,反转后为 " << reverseString(s) << endl;
}
return 0;
}
```
在这个示例代码中,我们定义了两个子函数 `isPalindrome` 和 `reverseString`,分别用于判断字符串是否为回文串和将字符串反转。主函数中,我们读入一个字符串 `s`,如果它是回文串,则输出对应的信息,否则调用 `reverseString` 函数将其反转后输出。请注意,这个示例代码中只能处理不包含空格和其他特殊字符的简单字符串,如果需要处理更加复杂的字符串,可能需要使用更加复杂的算法。
阅读全文