C语言“回文”是一种顺序读和反序读都一样的字符串,如 “121”、 “abcba”编写程序 判断从键盘输入的任一字符串是否为回文
时间: 2025-01-26 09:11:12 浏览: 22
在C语言中,判断一个字符串是否为回文,通常需要将输入的字符串进行比较,一种常见的方法是通过两个指针分别指向字符串的首尾字符,并向中间移动,直到两个指针相遇或交叉。下面是一个简单的示例程序:
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1;
// 比较首尾字符直到找到非相等字符或者到达字符串中间
while (start < end) {
if (str[start] != str[end]) {
return 0; // 如果找到不相等的字符,不是回文
}
start++;
end--;
}
return 1; // 所有字符都比较过了,说明是回文
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 读取用户输入,包含换行符
// 移除fgets最后的换行符
input[strcspn(input, "\n")] = '\0';
if (isPalindrome(input)) {
printf("%s 是回文字符串。\n", input);
} else {
printf("%s 不是回文字符串。\n", input);
}
return 0;
}
在这个程序中,isPalindrome
函数检查字符串是否为回文,然后main
函数接收用户的输入并调用这个函数。
相关推荐


















