编写一个算法,判断一个字符串是不是回文。C语言
时间: 2025-01-30 22:10:40 浏览: 54
判断一个字符串是否是回文,可以采用双指针法,从两端向中间遍历比较字符。这里是一个简单的C语言函数实现示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int isPalindrome(char str []);
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 防止读入换行符
input[strcspn(input, "\n")] = '\0'; // 移除字符串末尾的换行符
if (isPalindrome(input)) {
printf("%s 是回文字符串\n", input);
} else {
printf("%s 不是回文字符串\n", input);
}
return 0;
}
// 回文字符串检查函数
int isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1; // 获取字符串长度
while (start < end) {
if (str[start] != str[end]) { // 如果首尾字符不相等
return 0; // 不是回文,返回false
}
start++; // 移动左指针
end--; // 移动右指针
}
return 1; // 所有字符都匹配,说明是回文,返回true
}
```
这个程序首先获取用户输入的字符串,然后通过`isPalindrome`函数检查它是否是回文。如果是,函数会返回1,反之则返回0。
阅读全文
相关推荐


















