C++ 输入一行字符串,判断他是不是回文串,如果是的话输出YES,不是的话输出NO。
时间: 2024-03-23 18:37:35 浏览: 304
好的,这是一个判断回文串的问题,可以使用C++的string类和双指针算法来实现。以下是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s); // 输入字符串
int left = 0, right = s.size() - 1; // 定义左右指针
while (left < right) {
if (s[left] != s[right]) { // 如果左右指针所指的字符不相等
cout << "NO" << endl;
return 0;
}
left++; // 左指针右移
right--; // 右指针左移
}
cout << "YES" << endl; // 如果程序执行到这里,说明是回文串
return 0;
}
```
在上面的代码中,我们首先使用getline函数输入字符串s,然后定义左右指针left和right,并对其进行初始化,left指向第一个字符,right指向最后一个字符。接下来,我们使用while循环,每次比较left和right所指的字符是否相等,如果不相等,说明不是回文串,输出"NO",并退出程序。如果程序执行到while循环结束,说明s是回文串,输出"YES"即可。
相关问题
C++回文指的是正读反读都一样的字符串,编程判断用户输入的字符串是否是回文,如果是的话输出 yes 否则输出 no
以下是 Python 代码实现:
```python
string = input("请输入一个字符串:")
if string == string[::-1]:
print("yes")
else:
print("no")
```
解释:
- `input("请输入一个字符串:")`:提示用户输入一个字符串,并将输入的字符串赋值给 `string` 变量。
- `string[::-1]`:利用切片[::-1]将字符串反转,如果反转后的字符串与原字符串相等,则说明该字符串是回文。
- `if string == string[::-1]:`:判断字符串是否为回文。
- `print("yes")`:如果是回文,输出 "yes"。
- `print("no")`:如果不是回文,输出 "no"。
判断回文 描述: 输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。 输入: 输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。 输出: 如果字符串是回文,输出yes;否则,输出no。 难度: 一般 输入示例: abcdedcba 输出示例: yes 代码类型: C/C++
以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[101];
cin >> str;
int len = strlen(str);
bool isPalindrome = true;
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len-i-1]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
return 0;
}
```
首先输入一个字符串,然后计算字符串的长度,接着遍历字符串的前一半,判断前半部分和后半部分是否相等,如果不相等,则该字符串不是回文,否则是回文。最后根据判断结果输出 "yes" 或 "no"。
阅读全文
相关推荐













