编程判断输入的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。如:“12321”和“abcdcba”都是回文。
时间: 2023-11-10 21:05:25 浏览: 79
回文字符串:判断一个是否是回文字符串。回文字符串是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。
5星 · 资源好评率100%
可以使用双指针法判断一个字符串是否是回文。具体做法是,定义两个指针i和j,分别从字符串的两端开始向中间移动。如果字符数组s[i]和s[j]不相等,则该字符串不是回文;否则,继续移动指针,直到i>=j为止。
以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
int is_palindrome(char* s) {
int i = 0, j = strlen(s) - 1;
while (i < j) {
if (s[i] != s[j]) {
return 0;
}
i++;
j--;
}
return 1;
}
int main() {
char s[100];
printf("请输入一个字符串:");
scanf("%s", s);
if (is_palindrome(s)) {
printf("%s 是回文字符串\n", s);
} else {
printf("%s 不是回文字符串\n", s);
}
return 0;
}
```
注意,该代码只适用于 ASCII 字符串。如果需要支持 Unicode 字符串,需要使用宽字符类型 wchar_t 和相关的字符串函数。
阅读全文