4.输入一个字符串,判断它是否是一个回文串。 所谓的回文串是指:这个字符串从左到右及从右到左的字母排列是一样的,例如: “pop”,“legel”等。
时间: 2023-06-10 14:03:14 浏览: 37
好的,我明白了。以下是判断回文串的代码示例:
```
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
// 首先去掉字符串中的空格和标点符号
for (int i = 0; i < s.size(); i++) {
if (ispunct(s[i]) || isspace(s[i])) {
s.erase(i--, 1);
}
}
// 将字符串转化为小写,方便比较
transform(s.begin(), s.end(), s.begin(), ::tolower);
// 从两端向中间比较,一旦出现不相等就退出循环
for (int i = 0, j = s.size() - 1; i < j; i++, j--) {
if (s[i] != s[j]) {
return false;
}
}
return true;
}
int main() {
string s;
cout << "请输入字符串:";
getline(cin, s);
if (isPalindrome(s)) {
cout << s << " 是回文串" << endl;
} else {
cout << s << " 不是回文串" << endl;
}
return 0;
}
```
这个程序会先去掉字符串中的空格和标点符号,把所有字母转化为小写,然后从两端向中间比较,一旦发现不相等就退出循环,最后判断是否是回文串。您可以输入任何字符串进行测试。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)