7-19 sdut-c语言实验-回文串的判断
时间: 2023-06-05 21:48:01 浏览: 357
c语言回文判断
5星 · 资源好评率100%
回文串是指正着读和倒着读都一样的字符串。例如,"level"、"racecar"、"madam" 都是回文串。
判断一个字符串是否为回文串,可以使用双指针法。定义两个指针,一个指向字符串的开头,一个指向字符串的结尾,然后分别向中间移动,比较两个指针所指向的字符是否相同。如果相同,继续移动;如果不同,说明不是回文串。
具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
int left = , right = len - 1;
while (left < right) {
if (str[left] != str[right]) {
return ;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文串\n", str);
} else {
printf("%s 不是回文串\n", str);
}
return ;
}
```
在上面的代码中,isPalindrome 函数用于判断一个字符串是否为回文串。该函数首先获取字符串的长度 len,然后定义两个指针 left 和 right,分别指向字符串的开头和结尾。接着,使用 while 循环,当 left 小于 right 时,比较 str[left] 和 str[right] 是否相同,如果不同,说明不是回文串,返回 ;如果相同,继续移动指针。当 left 大于等于 right 时,说明已经比较完了整个字符串,返回 1,表示是回文串。
在 main 函数中,首先使用 scanf 函数获取用户输入的字符串,然后调用 isPalindrome 函数判断该字符串是否为回文串,并输出结果。
希望对你有帮助!
阅读全文