c++从键盘输入一个字符串,判断输入的字符串是否为回文,若是回文,输出:YES,否则输出:NO。
时间: 2024-02-22 15:58:28 浏览: 21
当然,我也可以用 C++ 代码帮您实现这个功能。以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cout << "请输入一个字符串:";
getline(cin, s); // 从键盘输入一个字符串,包括空格和其他特殊字符
int n = s.size();
bool flag = true;
for (int i = 0; i < n / 2; i++) {
if (s[i] != s[n - i - 1]) { // 判断是否为回文
flag = false;
break;
}
}
if (flag) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
```
这段代码首先从键盘输入一个字符串,包括空格和其他特殊字符,使用 `getline` 函数可以实现这个功能。然后遍历字符串的前一半字符,与后一半字符进行比较,判断是否为回文。如果是回文,则输出“YES”,否则输出“NO”。
相关问题
编写一个c++程序,输入一个字符串,判断是否为回文,是回文则输出"Yes",否则输出"No"
好的,以下是C++程序的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int i, len;
bool isPalindrome = true;
cout << "请输入一个字符串:";
getline(cin, str);
len = str.length();
for (i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
cout << "Yes";
} else {
cout << "No";
}
return 0;
}
```
程序首先输入一个字符串,然后通过比较字符串的头尾字符是否相等来判断是否为回文。如果所有字符都相等,则为回文,输出"Yes";否则输出"No"。
编写程序,输入一串中文字符,判断是否为回文,是回文则输出Yes,否则输出No。C++
以下是一个简单的 C++ 程序,用于判断输入的字符串是否为回文:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
bool isPalindrome = true;
cout << "请输入一串中文字符:";
getline(cin, str); // 使用 getline 函数读取包含空格的字符串
// 判断是否为回文
int len = str.length();
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;
}
```
该程序首先使用 `getline` 函数读取用户输入的字符串,然后从头尾开始比较字符是否相等,如果有不相等的字符,则该字符串不是回文。最后根据判断结果输出相应的信息。