给我回文数列(palindrome)的c++代码
时间: 2024-01-03 16:05:51 浏览: 41
以下是判断是否为回文数列的C++代码:
```c++
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
int left = 0, right = s.size() - 1;
while (left < right) {
if (s[left] != s[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
string s = "abcba";
if (isPalindrome(s)) {
cout << s << "是回文数列" << endl;
} else {
cout << s << "不是回文数列" << endl;
}
return 0;
}
```
其中,isPalindrome函数用于判断字符串s是否为回文数列。如果是回文数列,则返回true,否则返回false。在主函数中,我们定义一个字符串s,并调用isPalindrome函数进行判断。
相关问题
帮我写一段关于回文数列的c++代码
以下是一个简单的回文数列的 C 代码:
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] != str[len - i - 1]) {
flag = 1;
break;
}
}
if (flag) {
printf("%s 不是一个回文数列。\n", str);
} else {
printf("%s 是一个回文数列。\n", str);
}
return 0;
}
这个程序首先要求用户输入一个字符串,然后使用 strlen 函数获取字符串的长度。接下来,程序使用 for 循环遍历字符串中的每个字符。在每一次循环中,程序比较字符串的第 i 个字符和倒数第 i+1 个字符是否相等。如果存在不相等的字符,则标记 flag 置为 1,退出循环。最后,程序根据 flag 的值输出字符串是否是回文数列。
编写一个判断汉字回文串的C++代码
以下是一个判断汉字回文串的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` 函数进行判断,并输出结果。