C语言中回文判断。从键盘输入任意一个字符串,判断该字符串是否为回文。
时间: 2024-10-24 09:14:45 浏览: 13
在C语言中,判断一个字符串是否为回文通常通过比较字符串的正序和反转后的顺序是否一致来实现。以下是一个简单的步骤:
1. **读取输入**:首先,从用户那里获取一个字符串作为输入。
```c
#include <stdio.h>
#include <string.h>
char str[100];
```
2. **获取输入并存储**:使用`scanf`函数读取输入并存储到`str`数组中。
```c
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
```
3. **处理空格和换行符**:移除字符串结尾的多余空格和换行符,因为`fgets`会包含它们。
```c
size_t len = strlen(str);
str[len - 1] = '\0'; // 结尾字符设为'\0'
str[len - 2] = '\0'; // 如果还有空格,再移除一个
```
4. **创建反转字符串**:创建一个新的字符串,内容为原字符串的逆序。
```c
char rev_str[len];
for (int i = 0, j = len - 1; i < j; i++, j--) {
rev_str[i] = str[j];
rev_str[j] = '\0';
}
```
5. **比较两个字符串**:如果原字符串和反转字符串相等,则它是回文;如果不等,则不是。
```c
if (strcmp(str, rev_str) == 0) {
printf("%s 是回文。\n", str);
} else {
printf("%s 不是回文。\n", str);
}
```
阅读全文