C语言编程判断输入的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。如:“12321”和“abcdcba”都是回文。
时间: 2023-11-11 13:03:36 浏览: 81
可以使用双指针的方法来判断一个字符串是否为回文。
具体做法是,将左指针指向字符串的开头,右指针指向字符串的结尾。然后循环比较左右指针指向的字符是否相等,如果不相等,则该字符串不是回文;如果一直比较到左右指针相遇,则该字符串是回文。
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char* str) {
int len = strlen(str);
int left = 0, right = len - 1;
while (left < right) {
if (str[left] != str[right]) {
return 0; // 不是回文
}
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 0;
}
```
在上述代码中,isPalindrome函数接受一个字符串参数,并返回一个整数值,表示该字符串是否为回文。在主函数中,读入一个字符串,然后调用isPalindrome函数进行判断。如果是回文,则输出“是回文”,否则输出“不是回文”。
阅读全文