编写程序,输入一个字符串,判断是否为回文,是回文则输出"Yes",否则输出"No"。C++
时间: 2023-07-07 08:07:13 浏览: 99
以下是使用 C++ 编写的判断回文的程序:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str); // 使用 getline() 函数读取一整行字符串
int len = str.length();
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;
}
```
程序中使用了 `getline()` 函数读取一整行字符串,并使用循环遍历字符串的前一半字符和后一半字符进行比较,如果有不同则说明不是回文,否则是回文。最后根据是否为回文,输出相应的结果。
相关问题
编写程序,输入一串中文字符,判断是否为回文,是回文则输出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` 函数读取用户输入的字符串,然后从头尾开始比较字符是否相等,如果有不相等的字符,则该字符串不是回文。最后根据判断结果输出相应的信息。
编写程序,输入一个字符串,有汉字和字母,判断是否为回文,是回文则输出Yes,否则输出No。C++
以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return false;
}
}
return true;
}
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
if (isPalindrome(str)) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
```
首先定义了一个函数 `isPalindrome`,用于判断是否为回文。该函数接收一个字符串参数 `str`,通过遍历前半部分字符和后半部分字符进行比较,如果有不同的字符则返回 false,否则返回 true。
在主函数中,先输入一个字符串,然后调用 `isPalindrome` 函数进行判断,根据返回值输出 Yes 或 No。其中,使用了 `getline` 函数读取一整行输入,而不是使用 `cin >> str`,是为了能够读取包含空格的字符串。
阅读全文