C语言编程判断输入的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。如:“12321”和“abcdcba”都是回文。
时间: 2023-11-10 21:05:29 浏览: 143
031 判断字符串是否回文 C语言
5星 · 资源好评率100%
可以通过比较字符串的首尾字符、次首次尾字符、依次类推,来判断字符串是否为回文。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j, len, flag = 1;
printf("请输入字符串:");
gets(str);
len = strlen(str);
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
flag = 0;
break;
}
}
if (flag) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
在这个例子中,我们使用了 `gets()` 函数来获取输入的字符串。由于输入的字符串可能包含空格,所以不能使用 `scanf()` 函数来读取字符串。
然后我们使用了 `strlen()` 函数来计算字符串的长度,以便用于循环比较。
在循环中,我们从字符串的首尾开始比较字符,如果发现有不相同的字符,则将 `flag` 置为 0,并跳出循环。
最后,根据 `flag` 的值来输出判断结果。
需要注意的是,这个例子中没有考虑字符串中可能包含大小写字母、标点符号等情况。如果需要考虑这些情况,需要对比较字符时进行一些额外的处理。
阅读全文