判断输入的字符串是否是回文。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。c语言
时间: 2024-09-15 21:09:16 浏览: 44
判断输入的字符串是否是回文的一种常见方法是通过两个指针,一个从前往后遍历字符串,另一个从后往前遍历。每次比较这两个指针指向的字符是否相同,如果相同则继续移动,如果不相同则说明不是回文。
以下是简单的C语言函数实现:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
if (str[start] != str[end]) {
return false; // 如果任意一对对应位置的字符不同,就返回false
}
start++;
end--;
}
return true; // 遍历结束,所有字符匹配,所以是回文
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 移除fgets获取的换行符
if (isPalindrome(input)) {
printf("%s是回文\n", input);
} else {
printf("%s不是回文\n", input);
}
return 0;
}
```
阅读全文