编写一个程序,将输入的一串字符的首尾空白去除,判断其是否是回文串,即字符串倒序后仍为该字符,比如“aba”是回文串0,'abc'不是回文串;
时间: 2024-04-29 18:22:01 浏览: 13
以下是Python实现代码:
```python
def is_palindrome(s):
s = s.strip() # 去除首尾空白
return s == s[::-1] # 判断字符串是否等于自身倒序
# 测试
print(is_palindrome(' aba ')) # True
print(is_palindrome('abc')) # False
```
首先,使用`strip()`方法去除字符串首尾空白,然后使用字符串切片`[::-1]`得到字符串的倒序,最后比较原字符串和倒序后的字符串是否相等即可。
相关问题
用c++编写一个程序,输入一个字符串,判断其是否为回文字符串。
好的,以下是用 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/2; i++) {
if (str[i] != str[len-1-i]) {
flag = 1;
break;
}
}
if (flag) {
printf("%s 不是回文字符串\n", str);
} else {
printf("%s 是回文字符串\n", str);
}
return 0;
}
```
程序中使用了一个 `flag` 标记变量,用来表示是否为回文字符串。从字符串的两端开始比较,如果不相等,则将 `flag` 设为 1,表示不是回文字符串。最后根据 `flag` 的值输出结果。
注意,程序中没有对输入的字符串长度进行限制,如果输入的字符串长度超过了 `str` 数组的长度,可能会导致程序出错。可以在定义 `str` 数组时增加长度限制,或者使用动态内存分配来解决这个问题。
用c语言编写一个程序,输入一个字符串并判断该串是否为回文串
以下是用C语言编写的判断回文串的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
flag = 1;
break;
}
}
if (flag == 1) {
printf("%s 不是回文串\n", str);
} else {
printf("%s 是回文串\n", str);
}
return 0;
}
```
程序中首先定义了一个字符数组 `str`,用于存储用户输入的字符串。然后使用 `scanf` 函数读取用户输入的字符串。
接着,使用 `strlen` 函数获取字符串的长度,并使用 `for` 循环遍历字符串的前一半字符,判断其是否与后一半字符相同。如果有不同的字符,则标记变量 `flag` 取值为 1,表示该字符串不是回文串。
最后,根据标记变量 `flag` 的值,输出相应的提示信息。