判断回文:判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。使用c++编写子函数进行判断。
时间: 2024-05-03 11:18:11 浏览: 94
以下是使用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 - i - 1]) {
return false;
}
}
return true;
}
int main() {
string s;
cout << "请输入一个字符串:";
cin >> s;
if (isPalindrome(s)) {
cout << s << " 是回文字符串。" << endl;
} else {
cout << s << " 不是回文字符串。" << endl;
}
return 0;
}
```
该函数使用了 `string` 类型来存储字符串,并通过循环判断字符串的前一半和后一半是否相同,最后返回布尔值表示是否是回文字符串。在 `main` 函数中,我们通过输入一个字符串来调用 `isPalindrome` 函数,并输出判断结果。
相关问题
判断回文:判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。编写子函数进行判断。
可以使用双指针法,一个指针从字符串头开始,一个指针从字符串尾开始,比较两个指针指向的字符是否相等,如果相等则继续向中间移动,否则说明不是回文。
以下是 Python 代码实现:
```python
def is_palindrome(s):
"""
判断字符串是否为回文
:param s: 待判断字符串
:return: True or False
"""
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
测试代码:
```python
s1 = "XYZYX"
s2 = "xyzzyx"
s3 = "hello world"
print(is_palindrome(s1)) # True
print(is_palindrome(s2)) # True
print(is_palindrome(s3)) # False
```
使用c语言编写判断回文:判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。编写子函数进行判断。
下面是使用 C 语言编写的判断回文的程序:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int length = strlen(str);
for(int i = 0; i < length/2; i++) {
if(str[i] != str[length-i-1]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
if(isPalindrome(str)) {
printf("%s 是回文字符串。\n", str);
} else {
printf("%s 不是回文字符串。\n", str);
}
return 0;
}
```
该程序中使用了一个名为 `isPalindrome` 的子函数,用于判断输入的字符串是否为回文字符串。该函数的实现方式是,从字符串的首尾开始遍历,对比每个字符是否相等,如果存在不相等的情况,则返回0表示不是回文字符串,否则返回1表示是回文字符串。
在主函数中,先读入一个字符串,然后调用 `isPalindrome` 函数判断该字符串是否为回文字符串,并输出相应的结果。
阅读全文