C语言任务描述 本关任务:不使用string.h,编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串。如“XZYKYZX”是回文。 测试说明 平台会对你编写的代码进行测试: 测试输入:abcba 预期输出:是回文!
时间: 2024-03-23 08:35:54 浏览: 41
C语言 判断字符串是否是回文
5星 · 资源好评率100%
好的,以下是一个不使用string.h的函数,检查一个字符串是否是回文的方法:
```c++
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(char* str) {
int i = 0, j = 0;
while (str[j] != '\0') {
j++;
}
j--;
while (i < j) {
if (str[i] != str[j]) {
return false;
}
i++;
j--;
}
return true;
}
int main() {
char str[100];
printf("输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("是回文!\n");
} else {
printf("不是回文!\n");
}
return 0;
}
```
在上面的代码中,我们使用了两个指针,一个从字符串的开头向后移动,另一个从字符串的末尾向前移动。我们比较这两个指针所指向的字符是否相同,如果不同,则该字符串不是回文。如果遍历完整个字符串,两个指针都没有发现不同的字符,则该字符串是回文。
阅读全文