回文是从前向后和从后向前读起来都一样的,请编写一个函数,判断一个字符串是否为回文 提示:len=strlen(str); /*求字符串的长度*
时间: 2024-02-28 14:57:35 浏览: 132
好的,我可以帮你编写一个函数来判断一个字符串是否为回文。
以下是函数的实现:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
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;
}
```
这个函数首先使用 `strlen()` 函数计算字符串的长度,然后使用两个指针 `i` 和 `j` 分别从字符串的头部和尾部开始遍历,比较对应的字符是否相等。如果出现不相等的情况,则说明该字符串不是回文,返回 0;否则,该字符串是回文,返回 1。
在 `main()` 函数中,我们可以输入一个字符串,并调用 `isPalindrome()` 函数来判断它是否是回文。如果是回文,则输出相应的提示;否则,输出相应的提示。
阅读全文