编写一个判断汉字回文串的C++代码
时间: 2023-07-30 07:10:06 浏览: 117
以下是一个判断汉字回文串的C++代码:
```
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
int len = s.length();
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - 1 - i]) {
return false;
}
}
return true;
}
int main() {
string s;
cout << "请输入一个汉字字符串:";
cin >> s;
if (isPalindrome(s)) {
cout << s << " 是一个回文串。" << endl;
}
else {
cout << s << " 不是一个回文串。" << endl;
}
return 0;
}
```
该代码首先定义了一个函数 `isPalindrome`,用于判断一个字符串是否是回文串。然后在 `main` 函数中,首先读入一个汉字字符串,然后调用 `isPalindrome` 函数进行判断,并输出结果。
相关问题
判断一个字符串是否是回文串c++
要判断一个字符串是否是回文串,在C语言中可以使用以下步骤:
1. 定义两个指针,一个指向字符串的开头,另一个指向字符串的末尾。
2. 使用循环来比较指针所指向的字符是否相同,同时将指针向中间移动。
3. 如果存在不相同的字符,则该字符串不是回文串。
4. 如果指针相遇,则该字符串是回文串。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
if (*start != *end) {
return 0; // 不是回文串
}
start++;
end--;
}
return 1; // 是回文串
}
int main() {
char str
写一个判断输入的字符串是不是回文的C++代码
以下是判断输入字符串是否为回文的 C++ 代码:
```cpp
#include <iostream>
#include <string.h>
using namespace std;
bool isPalindrome(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
if (str[i] != str[length - i - 1]) {
return false;
}
}
return true;
}
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100);
if (isPalindrome(str)) {
cout << "是回文字符串" << endl;
}
else {
cout << "不是回文字符串" << endl;
}
return 0;
}
```
首先定义一个函数 `isPalindrome`,它接收一个字符串作为参数。在函数内部,使用 `strlen` 函数获取字符串的长度,然后使用循环遍历字符串的前半部分,判断每个字符是否与对应位置上的字符相等,如果不相等则返回 false,否则返回 true。在主函数中,使用 `cin.getline` 函数读取用户输入的字符串,并调用 `isPalindrome` 函数进行判断。