采用字符串容器储存,设计算法判断该字符串是否为回文,c语言
时间: 2024-11-03 18:21:04 浏览: 4
在C语言中,判断一个字符串是否为回文可以使用双指针法,从两端向中间遍历,同时比较字符是否相等。以下是一个简单的算法实现:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1;
// While the starting index is less than or equal to the ending index
while (start < end) {
// If characters at start and end don't match
if (str[start] != str[end]) {
return 0; // Not a palindrome
}
// Move pointers towards the middle
start++;
end--;
}
return 1; // It's a palindrome
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // Read user input
// Remove newline character from fgets
size_t len = strlen(input);
if (input[len - 1] = '\0';
}
if (isPalindrome(input)) {
printf("%s is a palindrome.\n", input);
} else {
printf("%s is not a palindrome.\n", input);
}
return 0;
}
```
在这个程序中,`isPalindrome`函数会检查输入的字符串是否从头到尾读起来都一样,如果是则返回1,反之返回0。
阅读全文