用c语言编写程序输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串是否为回文。回文就是字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。并输出完整代码
时间: 2024-09-08 07:02:26 浏览: 57
aba.rar_ABA_判断以@为结束符的字符串是否_回文序列
在C语言中,你可以通过读取用户输入、存储到字符数组中,然后检查数组的首尾字符是否匹配来判断一个字符串是否为回文。以下是完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
// 函数用于判断字符串是否为回文
int isPalindrome(char str[]) {
int len = strlen(str); // 获取字符串长度
for (int i = 0; i < len / 2; i++) { // 只需要比较一半的字符
if (str[i] != str[len - 1 - i]) { // 如果首尾字符不等,则非回文
return 0;
}
}
return 1; // 全部字符匹配,说明是回文
}
int main() {
char input[80]; // 声明一个最多容纳80个字符的数组
printf("请输入一个回车符结尾的字符串(少于80个字符):");
fgets(input, sizeof(input), stdin); // 使用fgets获取用户输入,包括回车符
// 移除fgets最后的换行符
input[strcspn(input, "\n")] = '\0';
if (isPalindrome(input)) {
printf("这是一个回文字符串。\n");
} else {
printf("这不是一个回文字符串。\n");
}
return 0;
}
```
当你运行此程序并输入一个字符串后,它会检测字符串是否为回文,并相应地输出提示信息。
阅读全文