cpp求从键盘输入一个字符串后,判断输入的是否是回文,若是,则在屏幕上输出“YES”,否则输出“NO”。回文即正序和逆序相同的字符串。
时间: 2024-09-06 20:02:09 浏览: 42
在C++中,可以通过读取用户输入的字符串,然后使用字符串处理的方式来判断该字符串是否为回文。实现这一功能的基本思路是首先获取字符串的长度,然后从字符串的两端开始,逐个字符比较,如果所有对应位置的字符都相同,则该字符串是回文;如果有任何一个位置的字符不同,则不是回文。
下面是一个简单的C++程序示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(const string& str) {
int left = 0; // 字符串左边界
int right = str.length() - 1; // 字符串右边界
while (left < right) {
if (str[left] != str[right]) {
return false; // 发现不匹配的字符,不是回文
}
left++; // 移动到下一个字符
right--; // 移动到前一个字符
}
return true; // 所有字符都匹配,是回文
}
int main() {
string input;
cout << "请输入一个字符串:" << endl;
getline(cin, input); // 从键盘读取一行字符串
if (isPalindrome(input)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
```
阅读全文