请用C语言编写程序,从键盘读取一串字符串,判断该字符串是否是回文串,如果是输出Yes,不是输出No 输入样例1: abcde 输出样例1: No 输入样例2: abcba 输出样例2: Yes
时间: 2025-01-25 07:11:07 浏览: 61
为了判断一个字符串是否是回文串,你可以使用C语言编写以下程序。这里我们首先从键盘读取用户输入,然后反转字符串并与原字符串比较。如果两者相等,则它是回文串;否则,它不是。
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于反转字符串
void reverse(char *str);
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 从键盘读取字符串,包括换行符
// 去除末尾的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
// 判断是否是回文串
reverse(input);
if (strcmp(input, input) == 0) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
// 反转字符串函数
void reverse(char *str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
```
在这个程序中,`reverse()`函数通过两个指针,一个指向字符串开始,另一个指向结束,交换它们指向的字符并逐步向中间移动,直到两者相遇,完成字符串的反转。
阅读全文
相关推荐




















