c 语言中输入一个以回车符为结束标志的字符串(少于80个字符)判断该字符是否为回文,如果是,输出Yes ,否则输出No
时间: 2024-02-15 07:02:30 浏览: 26
好的,下面是一个简单的 C 语言实现方法:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80 // 字符串最大长度
int main() {
char s[MAX_LEN + 1]; // 字符串数组,多留一个位置存储'\0'
int len, i;
// 输入字符串
printf("请输入一个长度不超过80个字符的字符串:\n");
fgets(s, MAX_LEN + 1, stdin); // 使用fgets函数读取字符串,包括换行符
// 去掉fgets函数读取的换行符
len = strlen(s);
if (s[len - 1] == '\n') {
s[len - 1] = '\0';
len--;
}
// 判断是否为回文
for (i = 0; i < len / 2; i++) {
if (s[i] != s[len - 1 - i]) {
printf("No\n");
return 0;
}
}
printf("Yes\n");
return 0;
}
```
首先,使用 `fgets` 函数读取字符串,然后去掉最后的换行符。接下来,使用双指针法判断字符串是否为回文。如果发现有任何一对字符不相同,则不是回文,输出 "No",否则输出 "Yes"。